R Under development (unstable) (2024-05-14 r86553 ucrt) -- "Unsuffered Consequences" 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") [10:56:22.691] Detected 'R CMD check': - adjusting defaults to be a good citizen [10:56:22.693] Set package option 'parallelly.availableCores.methods' [10:56:22.694] Environment variable 'R_PARALLELLY_AVAILABLECORES_METHODS' not set [10:56:22.694] Set package option 'parallelly.availableCores.fallback' [10:56:22.694] Environment variable 'R_PARALLELLY_AVAILABLECORES_FALLBACK' not set [10:56:22.695] Set package option 'parallelly.availableCores.min' [10:56:22.695] Environment variable 'R_PARALLELLY_AVAILABLECORES_MIN' not set [10:56:22.695] Set package option 'parallelly.availableCores.system' [10:56:22.696] Environment variable 'R_PARALLELLY_AVAILABLECORES_SYSTEM' not set [10:56:22.696] Set package option 'parallelly.availableCores.logical' [10:56:22.696] Environment variable 'R_PARALLELLY_AVAILABLECORES_LOGICAL' not set [10:56:22.696] Set package option 'parallelly.availableCores.omit' [10:56:22.697] Environment variable 'R_PARALLELLY_AVAILABLECORES_OMIT' not set [10:56:22.697] Set package option 'parallelly.availableWorkers.methods' [10:56:22.697] Environment variable 'R_PARALLELLY_AVAILABLEWORKERS_METHODS' not set [10:56:22.698] Set package option 'parallelly.maxWorkers.localhost' [10:56:22.698] Environment variable 'R_PARALLELLY_MAXWORKERS_LOCALHOST' not set [10:56:22.699] Set package option 'parallelly.maxWorkers.localhost.ignore' [10:56:22.699] Environment variable 'R_PARALLELLY_MAXWORKERS_LOCALHOST_IGNORE' not set [10:56:22.699] Set package option 'parallelly.fork.enable' [10:56:22.700] Environment variable 'R_PARALLELLY_FORK_ENABLE' not set [10:56:22.700] Set package option 'parallelly.supportsMulticore.disableOn' [10:56:22.700] Environment variable 'R_PARALLELLY_SUPPORTSMULTICORE_DISABLEON' not set [10:56:22.701] Set package option 'parallelly.supportsMulticore.unstable' [10:56:22.701] Environment variable 'R_PARALLELLY_SUPPORTSMULTICORE_UNSTABLE' not set [10:56:22.701] Set package option 'parallelly.makeNodePSOCK.setup_strategy' [10:56:22.702] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_SETUP_STRATEGY' not set [10:56:22.702] Set package option 'parallelly.makeNodePSOCK.validate' [10:56:22.702] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_VALIDATE' not set [10:56:22.703] Set package option 'parallelly.makeNodePSOCK.connectTimeout' [10:56:22.703] R_PARALLELLY_MAKENODEPSOCK_CONNECTTIMEOUT='120' [10:56:22.703] Coercing from character to numeric: '120' [10:56:22.703] => options("parallelly.makeNodePSOCK.connectTimeout" = '120') [n=1, mode=double] [10:56:22.704] Set package option 'parallelly.makeNodePSOCK.timeout' [10:56:22.704] R_PARALLELLY_MAKENODEPSOCK_TIMEOUT='120' [10:56:22.704] Coercing from character to numeric: '120' [10:56:22.705] => options("parallelly.makeNodePSOCK.timeout" = '120') [n=1, mode=double] [10:56:22.705] Set package option 'parallelly.makeNodePSOCK.useXDR' [10:56:22.705] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_USEXDR' not set [10:56:22.706] Set package option 'parallelly.makeNodePSOCK.socketOptions' [10:56:22.706] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_SOCKETOPTIONS' not set [10:56:22.706] Set package option 'parallelly.makeNodePSOCK.rshcmd' [10:56:22.706] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_RSHCMD' not set [10:56:22.707] Set package option 'parallelly.makeNodePSOCK.rshopts' [10:56:22.707] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_RSHOPTS' not set [10:56:22.707] Set package option 'parallelly.makeNodePSOCK.tries' [10:56:22.708] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_TRIES' not set [10:56:22.708] Set package option 'parallelly.makeNodePSOCK.tries.delay' [10:56:22.708] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_TRIES_DELAY' not set [10:56:22.709] Set package option 'parallelly.makeNodePSOCK.rscript_label' [10:56:22.709] R_PARALLELLY_MAKENODEPSOCK_RSCRIPT_LABEL='TRUE' [10:56:22.709] => options("parallelly.makeNodePSOCK.rscript_label" = 'TRUE') [n=1, mode=character] [10:56:22.710] Set package option 'parallelly.makeNodePSOCK.sessionInfo.pkgs' [10:56:22.710] R_PARALLELLY_MAKENODEPSOCK_SESSIONINFO_PKGS='TRUE' [10:56:22.710] => options("parallelly.makeNodePSOCK.sessionInfo.pkgs" = 'TRUE') [n=1, mode=character] [10:56:22.711] Set package option 'parallelly.makeNodePSOCK.autoKill' [10:56:22.711] R_PARALLELLY_MAKENODEPSOCK_AUTOKILL='TRUE' [10:56:22.711] Coercing from character to logical: 'TRUE' [10:56:22.711] => options("parallelly.makeNodePSOCK.autoKill" = 'TRUE') [n=1, mode=logical] [10:56:22.712] Set package option 'parallelly.makeNodePSOCK.master.localhost.hostname' [10:56:22.712] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_MASTER_LOCALHOST_HOSTNAME' not set [10:56:22.712] Set package option 'parallelly.makeNodePSOCK.port.increment' [10:56:22.713] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_PORT_INCREMENT' not set [10:56:22.714] 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' [10:56:22.723] Future-specific environment variables: [10:56:22.724] Environment variable 'R_FUTURE_DEMO_MANDELBROT_REGION' not set [10:56:22.724] Environment variable 'R_FUTURE_DEMO_MANDELBROT_NROW' not set [10:56:22.724] Environment variable 'R_FUTURE_DEPRECATED_IGNORE' not set [10:56:22.724] Environment variable 'R_FUTURE_DEPRECATED_DEFUNCT' not set [10:56:22.724] Environment variable 'R_FUTURE_FORK_MULTITHREADING_ENABLE' not set [10:56:22.725] Environment variable 'R_FUTURE_GLOBALS_MAXSIZE' not set [10:56:22.725] Environment variable 'R_FUTURE_GLOBALS_ONMISSING' not set [10:56:22.725] Environment variable 'R_FUTURE_GLOBALS_ONREFERENCE' not set [10:56:22.725] Environment variable 'R_FUTURE_GLOBALS_METHOD' not set [10:56:22.725] Environment variable 'R_FUTURE_GLOBALS_RESOLVE' not set [10:56:22.726] Environment variable 'R_FUTURE_LAZY_ASSERTOWNER' not set [10:56:22.726] Environment variable 'R_FUTURE_PLAN' not set [10:56:22.726] Environment variable 'R_FUTURE_PLAN_DISALLOW' not set [10:56:22.726] Environment variable 'R_FUTURE_PSOCK_RELAY_IMMEDIATE' not set [10:56:22.726] Environment variable 'R_FUTURE_RELAY_IMMEDIATE' not set [10:56:22.727] Environment variable 'R_FUTURE_RESOLVE_RECURSIVE' not set [10:56:22.727] Environment variable 'R_FUTURE_ALIVE_TIMEOUT' not set [10:56:22.727] Environment variable 'R_FUTURE_RESOLVED_TIMEOUT' not set [10:56:22.727] Environment variable 'R_FUTURE_CLUSTER_RESOLVED_TIMEOUT' not set [10:56:22.727] Environment variable 'R_FUTURE_MULTICORE_RESOLVED_TIMEOUT' not set [10:56:22.728] Environment variable 'R_FUTURE_ONFUTURECONDITION_KEEPFUTURE' not set [10:56:22.728] Environment variable 'R_FUTURE_RNG_ONMISUSE' not set [10:56:22.728] Environment variable 'R_FUTURE_GLOBALENV_ONMISUSE' not set [10:56:22.728] Environment variable 'R_FUTURE_WAIT_TIMEOUT' not set [10:56:22.728] Environment variable 'R_FUTURE_WAIT_INTERVAL' not set [10:56:22.728] Environment variable 'R_FUTURE_WAIT_ALPHA' not set [10:56:22.729] Environment variable 'R_FUTURE_ASSIGN_GLOBALS_EXCLUDE' not set [10:56:22.729] Environment variable 'R_FUTURE_OUTPUT_WINDOWS_REENCODE' not set [10:56:22.729] Environment variable 'R_FUTURE_GLOBALS_GLOBALSOF_LOCALS' not set [10:56:22.729] Environment variable 'R_FUTURE_STATE_ONINVALID' not set [10:56:22.730] Environment variable 'R_FUTURE_JOURNAL' not set [10:56:22.730] Environment variable 'R_FUTURE_GLOBALS_KEEPWHERE' not set [10:56:22.731] R process uuid: c4e8d843-fdf0-482d-35a0-e365fce7a5c8 [10:56:22.731] Setting plan('default') [10:56:22.732] plan(): Setting new future strategy stack: [10:56:22.732] List of future strategies: [10:56:22.732] 1. sequential: [10:56:22.732] - args: function (..., envir = parent.frame(), workers = "") [10:56:22.732] - tweaked: FALSE [10:56:22.732] - call: NULL [10:56:22.733] plan(): nbrOfWorkers() = 1 [10:56:22.792] plan(): Setting new future strategy stack: [10:56:22.792] List of future strategies: [10:56:22.792] 1. mirai_multisession: [10:56:22.792] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [10:56:22.792] - tweaked: FALSE [10:56:22.792] - call: future::plan(future.mirai::mirai_multisession) [10:56:22.807] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [10:56:22.808] < mirai | $data > [10:56:22.812] getGlobalsAndPackages() ... [10:56:22.813] Not searching for globals [10:56:22.813] - globals: [0] [10:56:22.813] getGlobalsAndPackages() ... DONE [10:56:22.813] getGlobalsAndPackages() ... [10:56:22.814] [10:56:22.814] - globals: [0] [10:56:22.814] getGlobalsAndPackages() ... DONE [10:56:23.126] Packages needed by the future expression (n = 0): [10:56:23.126] Packages needed by future strategies (n = 0): [10:56:23.127] { [10:56:23.127] { [10:56:23.127] { [10:56:23.127] ...future.startTime <- base::Sys.time() [10:56:23.127] { [10:56:23.127] { [10:56:23.127] { [10:56:23.127] base::local({ [10:56:23.127] has_future <- base::requireNamespace("future", [10:56:23.127] quietly = TRUE) [10:56:23.127] if (has_future) { [10:56:23.127] ns <- base::getNamespace("future") [10:56:23.127] version <- ns[[".package"]][["version"]] [10:56:23.127] if (is.null(version)) [10:56:23.127] version <- utils::packageVersion("future") [10:56:23.127] } [10:56:23.127] else { [10:56:23.127] version <- NULL [10:56:23.127] } [10:56:23.127] if (!has_future || version < "1.8.0") { [10:56:23.127] info <- base::c(r_version = base::gsub("R version ", [10:56:23.127] "", base::R.version$version.string), [10:56:23.127] platform = base::sprintf("%s (%s-bit)", [10:56:23.127] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:56:23.127] os = base::paste(base::Sys.info()[base::c("sysname", [10:56:23.127] "release", "version")], collapse = " "), [10:56:23.127] hostname = base::Sys.info()[["nodename"]]) [10:56:23.127] info <- base::sprintf("%s: %s", base::names(info), [10:56:23.127] info) [10:56:23.127] info <- base::paste(info, collapse = "; ") [10:56:23.127] if (!has_future) { [10:56:23.127] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:56:23.127] info) [10:56:23.127] } [10:56:23.127] else { [10:56:23.127] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:56:23.127] info, version) [10:56:23.127] } [10:56:23.127] base::stop(msg) [10:56:23.127] } [10:56:23.127] }) [10:56:23.127] } [10:56:23.127] ...future.strategy.old <- future::plan("list") [10:56:23.127] options(future.plan = NULL) [10:56:23.127] Sys.unsetenv("R_FUTURE_PLAN") [10:56:23.127] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:56:23.127] } [10:56:23.127] ...future.workdir <- getwd() [10:56:23.127] } [10:56:23.127] ...future.oldOptions <- base::as.list(base::.Options) [10:56:23.127] ...future.oldEnvVars <- base::Sys.getenv() [10:56:23.127] } [10:56:23.127] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:56:23.127] future.globals.maxSize = NULL, future.globals.method = NULL, [10:56:23.127] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:56:23.127] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:56:23.127] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:56:23.127] future.stdout.windows.reencode = NULL, width = 80L) [10:56:23.127] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:56:23.127] base::names(...future.oldOptions)) [10:56:23.127] } [10:56:23.127] if (FALSE) { [10:56:23.127] } [10:56:23.127] else { [10:56:23.127] if (TRUE) { [10:56:23.127] ...future.stdout <- base::rawConnection(base::raw(0L), [10:56:23.127] open = "w") [10:56:23.127] } [10:56:23.127] else { [10:56:23.127] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:56:23.127] windows = "NUL", "/dev/null"), open = "w") [10:56:23.127] } [10:56:23.127] base::sink(...future.stdout, type = "output", split = FALSE) [10:56:23.127] base::on.exit(if (!base::is.null(...future.stdout)) { [10:56:23.127] base::sink(type = "output", split = FALSE) [10:56:23.127] base::close(...future.stdout) [10:56:23.127] }, add = TRUE) [10:56:23.127] } [10:56:23.127] ...future.frame <- base::sys.nframe() [10:56:23.127] ...future.conditions <- base::list() [10:56:23.127] ...future.rng <- base::globalenv()$.Random.seed [10:56:23.127] if (FALSE) { [10:56:23.127] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:56:23.127] "...future.value", "...future.globalenv.names", ".Random.seed") [10:56:23.127] } [10:56:23.127] ...future.result <- base::tryCatch({ [10:56:23.127] base::withCallingHandlers({ [10:56:23.127] ...future.value <- base::withVisible(base::local(NA)) [10:56:23.127] future::FutureResult(value = ...future.value$value, [10:56:23.127] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:56:23.127] ...future.rng), globalenv = if (FALSE) [10:56:23.127] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:56:23.127] ...future.globalenv.names)) [10:56:23.127] else NULL, started = ...future.startTime, version = "1.8") [10:56:23.127] }, condition = base::local({ [10:56:23.127] c <- base::c [10:56:23.127] inherits <- base::inherits [10:56:23.127] invokeRestart <- base::invokeRestart [10:56:23.127] length <- base::length [10:56:23.127] list <- base::list [10:56:23.127] seq.int <- base::seq.int [10:56:23.127] signalCondition <- base::signalCondition [10:56:23.127] sys.calls <- base::sys.calls [10:56:23.127] `[[` <- base::`[[` [10:56:23.127] `+` <- base::`+` [10:56:23.127] `<<-` <- base::`<<-` [10:56:23.127] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:56:23.127] calls[seq.int(from = from + 12L, to = length(calls) - [10:56:23.127] 3L)] [10:56:23.127] } [10:56:23.127] function(cond) { [10:56:23.127] is_error <- inherits(cond, "error") [10:56:23.127] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:56:23.127] NULL) [10:56:23.127] if (is_error) { [10:56:23.127] sessionInformation <- function() { [10:56:23.127] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:56:23.127] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:56:23.127] search = base::search(), system = base::Sys.info()) [10:56:23.127] } [10:56:23.127] ...future.conditions[[length(...future.conditions) + [10:56:23.127] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:56:23.127] cond$call), session = sessionInformation(), [10:56:23.127] timestamp = base::Sys.time(), signaled = 0L) [10:56:23.127] signalCondition(cond) [10:56:23.127] } [10:56:23.127] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:56:23.127] signal <- FALSE && inherits(cond, character(0)) [10:56:23.127] ...future.conditions[[length(...future.conditions) + [10:56:23.127] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:56:23.127] if (FALSE && !signal) { [10:56:23.127] muffleCondition <- function (cond, pattern = "^muffle") [10:56:23.127] { [10:56:23.127] inherits <- base::inherits [10:56:23.127] invokeRestart <- base::invokeRestart [10:56:23.127] is.null <- base::is.null [10:56:23.127] muffled <- FALSE [10:56:23.127] if (inherits(cond, "message")) { [10:56:23.127] muffled <- grepl(pattern, "muffleMessage") [10:56:23.127] if (muffled) [10:56:23.127] invokeRestart("muffleMessage") [10:56:23.127] } [10:56:23.127] else if (inherits(cond, "warning")) { [10:56:23.127] muffled <- grepl(pattern, "muffleWarning") [10:56:23.127] if (muffled) [10:56:23.127] invokeRestart("muffleWarning") [10:56:23.127] } [10:56:23.127] else if (inherits(cond, "condition")) { [10:56:23.127] if (!is.null(pattern)) { [10:56:23.127] computeRestarts <- base::computeRestarts [10:56:23.127] grepl <- base::grepl [10:56:23.127] restarts <- computeRestarts(cond) [10:56:23.127] for (restart in restarts) { [10:56:23.127] name <- restart$name [10:56:23.127] if (is.null(name)) [10:56:23.127] next [10:56:23.127] if (!grepl(pattern, name)) [10:56:23.127] next [10:56:23.127] invokeRestart(restart) [10:56:23.127] muffled <- TRUE [10:56:23.127] break [10:56:23.127] } [10:56:23.127] } [10:56:23.127] } [10:56:23.127] invisible(muffled) [10:56:23.127] } [10:56:23.127] muffleCondition(cond, pattern = "^muffle") [10:56:23.127] } [10:56:23.127] } [10:56:23.127] else { [10:56:23.127] if (TRUE) { [10:56:23.127] muffleCondition <- function (cond, pattern = "^muffle") [10:56:23.127] { [10:56:23.127] inherits <- base::inherits [10:56:23.127] invokeRestart <- base::invokeRestart [10:56:23.127] is.null <- base::is.null [10:56:23.127] muffled <- FALSE [10:56:23.127] if (inherits(cond, "message")) { [10:56:23.127] muffled <- grepl(pattern, "muffleMessage") [10:56:23.127] if (muffled) [10:56:23.127] invokeRestart("muffleMessage") [10:56:23.127] } [10:56:23.127] else if (inherits(cond, "warning")) { [10:56:23.127] muffled <- grepl(pattern, "muffleWarning") [10:56:23.127] if (muffled) [10:56:23.127] invokeRestart("muffleWarning") [10:56:23.127] } [10:56:23.127] else if (inherits(cond, "condition")) { [10:56:23.127] if (!is.null(pattern)) { [10:56:23.127] computeRestarts <- base::computeRestarts [10:56:23.127] grepl <- base::grepl [10:56:23.127] restarts <- computeRestarts(cond) [10:56:23.127] for (restart in restarts) { [10:56:23.127] name <- restart$name [10:56:23.127] if (is.null(name)) [10:56:23.127] next [10:56:23.127] if (!grepl(pattern, name)) [10:56:23.127] next [10:56:23.127] invokeRestart(restart) [10:56:23.127] muffled <- TRUE [10:56:23.127] break [10:56:23.127] } [10:56:23.127] } [10:56:23.127] } [10:56:23.127] invisible(muffled) [10:56:23.127] } [10:56:23.127] muffleCondition(cond, pattern = "^muffle") [10:56:23.127] } [10:56:23.127] } [10:56:23.127] } [10:56:23.127] })) [10:56:23.127] }, error = function(ex) { [10:56:23.127] base::structure(base::list(value = NULL, visible = NULL, [10:56:23.127] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:56:23.127] ...future.rng), started = ...future.startTime, [10:56:23.127] finished = Sys.time(), session_uuid = NA_character_, [10:56:23.127] version = "1.8"), class = "FutureResult") [10:56:23.127] }, finally = { [10:56:23.127] if (!identical(...future.workdir, getwd())) [10:56:23.127] setwd(...future.workdir) [10:56:23.127] { [10:56:23.127] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:56:23.127] ...future.oldOptions$nwarnings <- NULL [10:56:23.127] } [10:56:23.127] base::options(...future.oldOptions) [10:56:23.127] if (.Platform$OS.type == "windows") { [10:56:23.127] old_names <- names(...future.oldEnvVars) [10:56:23.127] envs <- base::Sys.getenv() [10:56:23.127] names <- names(envs) [10:56:23.127] common <- intersect(names, old_names) [10:56:23.127] added <- setdiff(names, old_names) [10:56:23.127] removed <- setdiff(old_names, names) [10:56:23.127] changed <- common[...future.oldEnvVars[common] != [10:56:23.127] envs[common]] [10:56:23.127] NAMES <- toupper(changed) [10:56:23.127] args <- list() [10:56:23.127] for (kk in seq_along(NAMES)) { [10:56:23.127] name <- changed[[kk]] [10:56:23.127] NAME <- NAMES[[kk]] [10:56:23.127] if (name != NAME && is.element(NAME, old_names)) [10:56:23.127] next [10:56:23.127] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:23.127] } [10:56:23.127] NAMES <- toupper(added) [10:56:23.127] for (kk in seq_along(NAMES)) { [10:56:23.127] name <- added[[kk]] [10:56:23.127] NAME <- NAMES[[kk]] [10:56:23.127] if (name != NAME && is.element(NAME, old_names)) [10:56:23.127] next [10:56:23.127] args[[name]] <- "" [10:56:23.127] } [10:56:23.127] NAMES <- toupper(removed) [10:56:23.127] for (kk in seq_along(NAMES)) { [10:56:23.127] name <- removed[[kk]] [10:56:23.127] NAME <- NAMES[[kk]] [10:56:23.127] if (name != NAME && is.element(NAME, old_names)) [10:56:23.127] next [10:56:23.127] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:23.127] } [10:56:23.127] if (length(args) > 0) [10:56:23.127] base::do.call(base::Sys.setenv, args = args) [10:56:23.127] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:56:23.127] } [10:56:23.127] else { [10:56:23.127] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:56:23.127] } [10:56:23.127] { [10:56:23.127] if (base::length(...future.futureOptionsAdded) > [10:56:23.127] 0L) { [10:56:23.127] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:56:23.127] base::names(opts) <- ...future.futureOptionsAdded [10:56:23.127] base::options(opts) [10:56:23.127] } [10:56:23.127] { [10:56:23.127] NULL [10:56:23.127] options(future.plan = NULL) [10:56:23.127] if (is.na(NA_character_)) [10:56:23.127] Sys.unsetenv("R_FUTURE_PLAN") [10:56:23.127] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:56:23.127] future::plan(...future.strategy.old, .cleanup = FALSE, [10:56:23.127] .init = FALSE) [10:56:23.127] } [10:56:23.127] } [10:56:23.127] } [10:56:23.127] }) [10:56:23.127] if (TRUE) { [10:56:23.127] base::sink(type = "output", split = FALSE) [10:56:23.127] if (TRUE) { [10:56:23.127] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:56:23.127] } [10:56:23.127] else { [10:56:23.127] ...future.result["stdout"] <- base::list(NULL) [10:56:23.127] } [10:56:23.127] base::close(...future.stdout) [10:56:23.127] ...future.stdout <- NULL [10:56:23.127] } [10:56:23.127] ...future.result$conditions <- ...future.conditions [10:56:23.127] ...future.result$finished <- base::Sys.time() [10:56:23.127] ...future.result [10:56:23.127] } [10:56:23.238] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [10:56:23.240] 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) [10:56:23.241] plan(): Setting new future strategy stack: [10:56:23.241] List of future strategies: [10:56:23.241] 1. mirai_multisession: [10:56:23.241] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [10:56:23.241] - tweaked: FALSE [10:56:23.241] - call: future::plan(future.mirai::mirai_multisession) [10:56:23.267] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [10:56:23.268] < mirai | $data > [10:56:23.272] getGlobalsAndPackages() ... [10:56:23.272] Not searching for globals [10:56:23.273] - globals: [0] [10:56:23.273] getGlobalsAndPackages() ... DONE [10:56:23.273] getGlobalsAndPackages() ... [10:56:23.274] [10:56:23.274] - globals: [0] [10:56:23.274] getGlobalsAndPackages() ... DONE [10:56:23.275] Packages needed by the future expression (n = 0): [10:56:23.275] Packages needed by future strategies (n = 0): [10:56:23.276] { [10:56:23.276] { [10:56:23.276] { [10:56:23.276] ...future.startTime <- base::Sys.time() [10:56:23.276] { [10:56:23.276] { [10:56:23.276] { [10:56:23.276] base::local({ [10:56:23.276] has_future <- base::requireNamespace("future", [10:56:23.276] quietly = TRUE) [10:56:23.276] if (has_future) { [10:56:23.276] ns <- base::getNamespace("future") [10:56:23.276] version <- ns[[".package"]][["version"]] [10:56:23.276] if (is.null(version)) [10:56:23.276] version <- utils::packageVersion("future") [10:56:23.276] } [10:56:23.276] else { [10:56:23.276] version <- NULL [10:56:23.276] } [10:56:23.276] if (!has_future || version < "1.8.0") { [10:56:23.276] info <- base::c(r_version = base::gsub("R version ", [10:56:23.276] "", base::R.version$version.string), [10:56:23.276] platform = base::sprintf("%s (%s-bit)", [10:56:23.276] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:56:23.276] os = base::paste(base::Sys.info()[base::c("sysname", [10:56:23.276] "release", "version")], collapse = " "), [10:56:23.276] hostname = base::Sys.info()[["nodename"]]) [10:56:23.276] info <- base::sprintf("%s: %s", base::names(info), [10:56:23.276] info) [10:56:23.276] info <- base::paste(info, collapse = "; ") [10:56:23.276] if (!has_future) { [10:56:23.276] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:56:23.276] info) [10:56:23.276] } [10:56:23.276] else { [10:56:23.276] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:56:23.276] info, version) [10:56:23.276] } [10:56:23.276] base::stop(msg) [10:56:23.276] } [10:56:23.276] }) [10:56:23.276] } [10:56:23.276] ...future.strategy.old <- future::plan("list") [10:56:23.276] options(future.plan = NULL) [10:56:23.276] Sys.unsetenv("R_FUTURE_PLAN") [10:56:23.276] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:56:23.276] } [10:56:23.276] ...future.workdir <- getwd() [10:56:23.276] } [10:56:23.276] ...future.oldOptions <- base::as.list(base::.Options) [10:56:23.276] ...future.oldEnvVars <- base::Sys.getenv() [10:56:23.276] } [10:56:23.276] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:56:23.276] future.globals.maxSize = NULL, future.globals.method = NULL, [10:56:23.276] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:56:23.276] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:56:23.276] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:56:23.276] future.stdout.windows.reencode = NULL, width = 80L) [10:56:23.276] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:56:23.276] base::names(...future.oldOptions)) [10:56:23.276] } [10:56:23.276] if (FALSE) { [10:56:23.276] } [10:56:23.276] else { [10:56:23.276] if (TRUE) { [10:56:23.276] ...future.stdout <- base::rawConnection(base::raw(0L), [10:56:23.276] open = "w") [10:56:23.276] } [10:56:23.276] else { [10:56:23.276] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:56:23.276] windows = "NUL", "/dev/null"), open = "w") [10:56:23.276] } [10:56:23.276] base::sink(...future.stdout, type = "output", split = FALSE) [10:56:23.276] base::on.exit(if (!base::is.null(...future.stdout)) { [10:56:23.276] base::sink(type = "output", split = FALSE) [10:56:23.276] base::close(...future.stdout) [10:56:23.276] }, add = TRUE) [10:56:23.276] } [10:56:23.276] ...future.frame <- base::sys.nframe() [10:56:23.276] ...future.conditions <- base::list() [10:56:23.276] ...future.rng <- base::globalenv()$.Random.seed [10:56:23.276] if (FALSE) { [10:56:23.276] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:56:23.276] "...future.value", "...future.globalenv.names", ".Random.seed") [10:56:23.276] } [10:56:23.276] ...future.result <- base::tryCatch({ [10:56:23.276] base::withCallingHandlers({ [10:56:23.276] ...future.value <- base::withVisible(base::local(NA)) [10:56:23.276] future::FutureResult(value = ...future.value$value, [10:56:23.276] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:56:23.276] ...future.rng), globalenv = if (FALSE) [10:56:23.276] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:56:23.276] ...future.globalenv.names)) [10:56:23.276] else NULL, started = ...future.startTime, version = "1.8") [10:56:23.276] }, condition = base::local({ [10:56:23.276] c <- base::c [10:56:23.276] inherits <- base::inherits [10:56:23.276] invokeRestart <- base::invokeRestart [10:56:23.276] length <- base::length [10:56:23.276] list <- base::list [10:56:23.276] seq.int <- base::seq.int [10:56:23.276] signalCondition <- base::signalCondition [10:56:23.276] sys.calls <- base::sys.calls [10:56:23.276] `[[` <- base::`[[` [10:56:23.276] `+` <- base::`+` [10:56:23.276] `<<-` <- base::`<<-` [10:56:23.276] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:56:23.276] calls[seq.int(from = from + 12L, to = length(calls) - [10:56:23.276] 3L)] [10:56:23.276] } [10:56:23.276] function(cond) { [10:56:23.276] is_error <- inherits(cond, "error") [10:56:23.276] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:56:23.276] NULL) [10:56:23.276] if (is_error) { [10:56:23.276] sessionInformation <- function() { [10:56:23.276] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:56:23.276] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:56:23.276] search = base::search(), system = base::Sys.info()) [10:56:23.276] } [10:56:23.276] ...future.conditions[[length(...future.conditions) + [10:56:23.276] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:56:23.276] cond$call), session = sessionInformation(), [10:56:23.276] timestamp = base::Sys.time(), signaled = 0L) [10:56:23.276] signalCondition(cond) [10:56:23.276] } [10:56:23.276] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:56:23.276] signal <- FALSE && inherits(cond, character(0)) [10:56:23.276] ...future.conditions[[length(...future.conditions) + [10:56:23.276] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:56:23.276] if (FALSE && !signal) { [10:56:23.276] muffleCondition <- function (cond, pattern = "^muffle") [10:56:23.276] { [10:56:23.276] inherits <- base::inherits [10:56:23.276] invokeRestart <- base::invokeRestart [10:56:23.276] is.null <- base::is.null [10:56:23.276] muffled <- FALSE [10:56:23.276] if (inherits(cond, "message")) { [10:56:23.276] muffled <- grepl(pattern, "muffleMessage") [10:56:23.276] if (muffled) [10:56:23.276] invokeRestart("muffleMessage") [10:56:23.276] } [10:56:23.276] else if (inherits(cond, "warning")) { [10:56:23.276] muffled <- grepl(pattern, "muffleWarning") [10:56:23.276] if (muffled) [10:56:23.276] invokeRestart("muffleWarning") [10:56:23.276] } [10:56:23.276] else if (inherits(cond, "condition")) { [10:56:23.276] if (!is.null(pattern)) { [10:56:23.276] computeRestarts <- base::computeRestarts [10:56:23.276] grepl <- base::grepl [10:56:23.276] restarts <- computeRestarts(cond) [10:56:23.276] for (restart in restarts) { [10:56:23.276] name <- restart$name [10:56:23.276] if (is.null(name)) [10:56:23.276] next [10:56:23.276] if (!grepl(pattern, name)) [10:56:23.276] next [10:56:23.276] invokeRestart(restart) [10:56:23.276] muffled <- TRUE [10:56:23.276] break [10:56:23.276] } [10:56:23.276] } [10:56:23.276] } [10:56:23.276] invisible(muffled) [10:56:23.276] } [10:56:23.276] muffleCondition(cond, pattern = "^muffle") [10:56:23.276] } [10:56:23.276] } [10:56:23.276] else { [10:56:23.276] if (TRUE) { [10:56:23.276] muffleCondition <- function (cond, pattern = "^muffle") [10:56:23.276] { [10:56:23.276] inherits <- base::inherits [10:56:23.276] invokeRestart <- base::invokeRestart [10:56:23.276] is.null <- base::is.null [10:56:23.276] muffled <- FALSE [10:56:23.276] if (inherits(cond, "message")) { [10:56:23.276] muffled <- grepl(pattern, "muffleMessage") [10:56:23.276] if (muffled) [10:56:23.276] invokeRestart("muffleMessage") [10:56:23.276] } [10:56:23.276] else if (inherits(cond, "warning")) { [10:56:23.276] muffled <- grepl(pattern, "muffleWarning") [10:56:23.276] if (muffled) [10:56:23.276] invokeRestart("muffleWarning") [10:56:23.276] } [10:56:23.276] else if (inherits(cond, "condition")) { [10:56:23.276] if (!is.null(pattern)) { [10:56:23.276] computeRestarts <- base::computeRestarts [10:56:23.276] grepl <- base::grepl [10:56:23.276] restarts <- computeRestarts(cond) [10:56:23.276] for (restart in restarts) { [10:56:23.276] name <- restart$name [10:56:23.276] if (is.null(name)) [10:56:23.276] next [10:56:23.276] if (!grepl(pattern, name)) [10:56:23.276] next [10:56:23.276] invokeRestart(restart) [10:56:23.276] muffled <- TRUE [10:56:23.276] break [10:56:23.276] } [10:56:23.276] } [10:56:23.276] } [10:56:23.276] invisible(muffled) [10:56:23.276] } [10:56:23.276] muffleCondition(cond, pattern = "^muffle") [10:56:23.276] } [10:56:23.276] } [10:56:23.276] } [10:56:23.276] })) [10:56:23.276] }, error = function(ex) { [10:56:23.276] base::structure(base::list(value = NULL, visible = NULL, [10:56:23.276] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:56:23.276] ...future.rng), started = ...future.startTime, [10:56:23.276] finished = Sys.time(), session_uuid = NA_character_, [10:56:23.276] version = "1.8"), class = "FutureResult") [10:56:23.276] }, finally = { [10:56:23.276] if (!identical(...future.workdir, getwd())) [10:56:23.276] setwd(...future.workdir) [10:56:23.276] { [10:56:23.276] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:56:23.276] ...future.oldOptions$nwarnings <- NULL [10:56:23.276] } [10:56:23.276] base::options(...future.oldOptions) [10:56:23.276] if (.Platform$OS.type == "windows") { [10:56:23.276] old_names <- names(...future.oldEnvVars) [10:56:23.276] envs <- base::Sys.getenv() [10:56:23.276] names <- names(envs) [10:56:23.276] common <- intersect(names, old_names) [10:56:23.276] added <- setdiff(names, old_names) [10:56:23.276] removed <- setdiff(old_names, names) [10:56:23.276] changed <- common[...future.oldEnvVars[common] != [10:56:23.276] envs[common]] [10:56:23.276] NAMES <- toupper(changed) [10:56:23.276] args <- list() [10:56:23.276] for (kk in seq_along(NAMES)) { [10:56:23.276] name <- changed[[kk]] [10:56:23.276] NAME <- NAMES[[kk]] [10:56:23.276] if (name != NAME && is.element(NAME, old_names)) [10:56:23.276] next [10:56:23.276] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:23.276] } [10:56:23.276] NAMES <- toupper(added) [10:56:23.276] for (kk in seq_along(NAMES)) { [10:56:23.276] name <- added[[kk]] [10:56:23.276] NAME <- NAMES[[kk]] [10:56:23.276] if (name != NAME && is.element(NAME, old_names)) [10:56:23.276] next [10:56:23.276] args[[name]] <- "" [10:56:23.276] } [10:56:23.276] NAMES <- toupper(removed) [10:56:23.276] for (kk in seq_along(NAMES)) { [10:56:23.276] name <- removed[[kk]] [10:56:23.276] NAME <- NAMES[[kk]] [10:56:23.276] if (name != NAME && is.element(NAME, old_names)) [10:56:23.276] next [10:56:23.276] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:23.276] } [10:56:23.276] if (length(args) > 0) [10:56:23.276] base::do.call(base::Sys.setenv, args = args) [10:56:23.276] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:56:23.276] } [10:56:23.276] else { [10:56:23.276] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:56:23.276] } [10:56:23.276] { [10:56:23.276] if (base::length(...future.futureOptionsAdded) > [10:56:23.276] 0L) { [10:56:23.276] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:56:23.276] base::names(opts) <- ...future.futureOptionsAdded [10:56:23.276] base::options(opts) [10:56:23.276] } [10:56:23.276] { [10:56:23.276] NULL [10:56:23.276] options(future.plan = NULL) [10:56:23.276] if (is.na(NA_character_)) [10:56:23.276] Sys.unsetenv("R_FUTURE_PLAN") [10:56:23.276] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:56:23.276] future::plan(...future.strategy.old, .cleanup = FALSE, [10:56:23.276] .init = FALSE) [10:56:23.276] } [10:56:23.276] } [10:56:23.276] } [10:56:23.276] }) [10:56:23.276] if (TRUE) { [10:56:23.276] base::sink(type = "output", split = FALSE) [10:56:23.276] if (TRUE) { [10:56:23.276] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:56:23.276] } [10:56:23.276] else { [10:56:23.276] ...future.result["stdout"] <- base::list(NULL) [10:56:23.276] } [10:56:23.276] base::close(...future.stdout) [10:56:23.276] ...future.stdout <- NULL [10:56:23.276] } [10:56:23.276] ...future.result$conditions <- ...future.conditions [10:56:23.276] ...future.result$finished <- base::Sys.time() [10:56:23.276] ...future.result [10:56:23.276] } [10:56:23.426] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [10:56:23.426] 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) [10:56:23.429] plan(): Setting new future strategy stack: [10:56:23.429] List of future strategies: [10:56:23.429] 1. mirai_multisession: [10:56:23.429] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [10:56:23.429] - tweaked: FALSE [10:56:23.429] - call: future::plan(future.mirai::mirai_multisession) [10:56:23.430] 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 [10:56:23.439] Option 'future.startup.script': TRUE [10:56:23.439] Future startup scripts considered: '.future.R', '~/.future.R' [10:56:23.439] Future startup scripts found: > plan(mirai_multisession) [10:56:23.442] plan(): Setting new future strategy stack: [10:56:23.442] List of future strategies: [10:56:23.442] 1. mirai_multisession: [10:56:23.442] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [10:56:23.442] - tweaked: FALSE [10:56:23.442] - call: plan(mirai_multisession) [10:56:23.443] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [10:56:23.443] < mirai | $data > [10:56:23.445] getGlobalsAndPackages() ... [10:56:23.445] Not searching for globals [10:56:23.446] - globals: [0] [10:56:23.446] getGlobalsAndPackages() ... DONE [10:56:23.446] getGlobalsAndPackages() ... [10:56:23.446] [10:56:23.446] - globals: [0] [10:56:23.447] getGlobalsAndPackages() ... DONE [10:56:23.447] Packages needed by the future expression (n = 0): [10:56:23.447] Packages needed by future strategies (n = 0): [10:56:23.448] { [10:56:23.448] { [10:56:23.448] { [10:56:23.448] ...future.startTime <- base::Sys.time() [10:56:23.448] { [10:56:23.448] { [10:56:23.448] { [10:56:23.448] base::local({ [10:56:23.448] has_future <- base::requireNamespace("future", [10:56:23.448] quietly = TRUE) [10:56:23.448] if (has_future) { [10:56:23.448] ns <- base::getNamespace("future") [10:56:23.448] version <- ns[[".package"]][["version"]] [10:56:23.448] if (is.null(version)) [10:56:23.448] version <- utils::packageVersion("future") [10:56:23.448] } [10:56:23.448] else { [10:56:23.448] version <- NULL [10:56:23.448] } [10:56:23.448] if (!has_future || version < "1.8.0") { [10:56:23.448] info <- base::c(r_version = base::gsub("R version ", [10:56:23.448] "", base::R.version$version.string), [10:56:23.448] platform = base::sprintf("%s (%s-bit)", [10:56:23.448] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:56:23.448] os = base::paste(base::Sys.info()[base::c("sysname", [10:56:23.448] "release", "version")], collapse = " "), [10:56:23.448] hostname = base::Sys.info()[["nodename"]]) [10:56:23.448] info <- base::sprintf("%s: %s", base::names(info), [10:56:23.448] info) [10:56:23.448] info <- base::paste(info, collapse = "; ") [10:56:23.448] if (!has_future) { [10:56:23.448] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:56:23.448] info) [10:56:23.448] } [10:56:23.448] else { [10:56:23.448] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:56:23.448] info, version) [10:56:23.448] } [10:56:23.448] base::stop(msg) [10:56:23.448] } [10:56:23.448] }) [10:56:23.448] } [10:56:23.448] ...future.strategy.old <- future::plan("list") [10:56:23.448] options(future.plan = NULL) [10:56:23.448] Sys.unsetenv("R_FUTURE_PLAN") [10:56:23.448] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:56:23.448] } [10:56:23.448] ...future.workdir <- getwd() [10:56:23.448] } [10:56:23.448] ...future.oldOptions <- base::as.list(base::.Options) [10:56:23.448] ...future.oldEnvVars <- base::Sys.getenv() [10:56:23.448] } [10:56:23.448] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:56:23.448] future.globals.maxSize = NULL, future.globals.method = NULL, [10:56:23.448] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:56:23.448] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:56:23.448] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:56:23.448] future.stdout.windows.reencode = NULL, width = 80L) [10:56:23.448] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:56:23.448] base::names(...future.oldOptions)) [10:56:23.448] } [10:56:23.448] if (FALSE) { [10:56:23.448] } [10:56:23.448] else { [10:56:23.448] if (TRUE) { [10:56:23.448] ...future.stdout <- base::rawConnection(base::raw(0L), [10:56:23.448] open = "w") [10:56:23.448] } [10:56:23.448] else { [10:56:23.448] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:56:23.448] windows = "NUL", "/dev/null"), open = "w") [10:56:23.448] } [10:56:23.448] base::sink(...future.stdout, type = "output", split = FALSE) [10:56:23.448] base::on.exit(if (!base::is.null(...future.stdout)) { [10:56:23.448] base::sink(type = "output", split = FALSE) [10:56:23.448] base::close(...future.stdout) [10:56:23.448] }, add = TRUE) [10:56:23.448] } [10:56:23.448] ...future.frame <- base::sys.nframe() [10:56:23.448] ...future.conditions <- base::list() [10:56:23.448] ...future.rng <- base::globalenv()$.Random.seed [10:56:23.448] if (FALSE) { [10:56:23.448] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:56:23.448] "...future.value", "...future.globalenv.names", ".Random.seed") [10:56:23.448] } [10:56:23.448] ...future.result <- base::tryCatch({ [10:56:23.448] base::withCallingHandlers({ [10:56:23.448] ...future.value <- base::withVisible(base::local(NA)) [10:56:23.448] future::FutureResult(value = ...future.value$value, [10:56:23.448] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:56:23.448] ...future.rng), globalenv = if (FALSE) [10:56:23.448] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:56:23.448] ...future.globalenv.names)) [10:56:23.448] else NULL, started = ...future.startTime, version = "1.8") [10:56:23.448] }, condition = base::local({ [10:56:23.448] c <- base::c [10:56:23.448] inherits <- base::inherits [10:56:23.448] invokeRestart <- base::invokeRestart [10:56:23.448] length <- base::length [10:56:23.448] list <- base::list [10:56:23.448] seq.int <- base::seq.int [10:56:23.448] signalCondition <- base::signalCondition [10:56:23.448] sys.calls <- base::sys.calls [10:56:23.448] `[[` <- base::`[[` [10:56:23.448] `+` <- base::`+` [10:56:23.448] `<<-` <- base::`<<-` [10:56:23.448] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:56:23.448] calls[seq.int(from = from + 12L, to = length(calls) - [10:56:23.448] 3L)] [10:56:23.448] } [10:56:23.448] function(cond) { [10:56:23.448] is_error <- inherits(cond, "error") [10:56:23.448] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:56:23.448] NULL) [10:56:23.448] if (is_error) { [10:56:23.448] sessionInformation <- function() { [10:56:23.448] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:56:23.448] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:56:23.448] search = base::search(), system = base::Sys.info()) [10:56:23.448] } [10:56:23.448] ...future.conditions[[length(...future.conditions) + [10:56:23.448] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:56:23.448] cond$call), session = sessionInformation(), [10:56:23.448] timestamp = base::Sys.time(), signaled = 0L) [10:56:23.448] signalCondition(cond) [10:56:23.448] } [10:56:23.448] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:56:23.448] signal <- FALSE && inherits(cond, character(0)) [10:56:23.448] ...future.conditions[[length(...future.conditions) + [10:56:23.448] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:56:23.448] if (FALSE && !signal) { [10:56:23.448] muffleCondition <- function (cond, pattern = "^muffle") [10:56:23.448] { [10:56:23.448] inherits <- base::inherits [10:56:23.448] invokeRestart <- base::invokeRestart [10:56:23.448] is.null <- base::is.null [10:56:23.448] muffled <- FALSE [10:56:23.448] if (inherits(cond, "message")) { [10:56:23.448] muffled <- grepl(pattern, "muffleMessage") [10:56:23.448] if (muffled) [10:56:23.448] invokeRestart("muffleMessage") [10:56:23.448] } [10:56:23.448] else if (inherits(cond, "warning")) { [10:56:23.448] muffled <- grepl(pattern, "muffleWarning") [10:56:23.448] if (muffled) [10:56:23.448] invokeRestart("muffleWarning") [10:56:23.448] } [10:56:23.448] else if (inherits(cond, "condition")) { [10:56:23.448] if (!is.null(pattern)) { [10:56:23.448] computeRestarts <- base::computeRestarts [10:56:23.448] grepl <- base::grepl [10:56:23.448] restarts <- computeRestarts(cond) [10:56:23.448] for (restart in restarts) { [10:56:23.448] name <- restart$name [10:56:23.448] if (is.null(name)) [10:56:23.448] next [10:56:23.448] if (!grepl(pattern, name)) [10:56:23.448] next [10:56:23.448] invokeRestart(restart) [10:56:23.448] muffled <- TRUE [10:56:23.448] break [10:56:23.448] } [10:56:23.448] } [10:56:23.448] } [10:56:23.448] invisible(muffled) [10:56:23.448] } [10:56:23.448] muffleCondition(cond, pattern = "^muffle") [10:56:23.448] } [10:56:23.448] } [10:56:23.448] else { [10:56:23.448] if (TRUE) { [10:56:23.448] muffleCondition <- function (cond, pattern = "^muffle") [10:56:23.448] { [10:56:23.448] inherits <- base::inherits [10:56:23.448] invokeRestart <- base::invokeRestart [10:56:23.448] is.null <- base::is.null [10:56:23.448] muffled <- FALSE [10:56:23.448] if (inherits(cond, "message")) { [10:56:23.448] muffled <- grepl(pattern, "muffleMessage") [10:56:23.448] if (muffled) [10:56:23.448] invokeRestart("muffleMessage") [10:56:23.448] } [10:56:23.448] else if (inherits(cond, "warning")) { [10:56:23.448] muffled <- grepl(pattern, "muffleWarning") [10:56:23.448] if (muffled) [10:56:23.448] invokeRestart("muffleWarning") [10:56:23.448] } [10:56:23.448] else if (inherits(cond, "condition")) { [10:56:23.448] if (!is.null(pattern)) { [10:56:23.448] computeRestarts <- base::computeRestarts [10:56:23.448] grepl <- base::grepl [10:56:23.448] restarts <- computeRestarts(cond) [10:56:23.448] for (restart in restarts) { [10:56:23.448] name <- restart$name [10:56:23.448] if (is.null(name)) [10:56:23.448] next [10:56:23.448] if (!grepl(pattern, name)) [10:56:23.448] next [10:56:23.448] invokeRestart(restart) [10:56:23.448] muffled <- TRUE [10:56:23.448] break [10:56:23.448] } [10:56:23.448] } [10:56:23.448] } [10:56:23.448] invisible(muffled) [10:56:23.448] } [10:56:23.448] muffleCondition(cond, pattern = "^muffle") [10:56:23.448] } [10:56:23.448] } [10:56:23.448] } [10:56:23.448] })) [10:56:23.448] }, error = function(ex) { [10:56:23.448] base::structure(base::list(value = NULL, visible = NULL, [10:56:23.448] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:56:23.448] ...future.rng), started = ...future.startTime, [10:56:23.448] finished = Sys.time(), session_uuid = NA_character_, [10:56:23.448] version = "1.8"), class = "FutureResult") [10:56:23.448] }, finally = { [10:56:23.448] if (!identical(...future.workdir, getwd())) [10:56:23.448] setwd(...future.workdir) [10:56:23.448] { [10:56:23.448] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:56:23.448] ...future.oldOptions$nwarnings <- NULL [10:56:23.448] } [10:56:23.448] base::options(...future.oldOptions) [10:56:23.448] if (.Platform$OS.type == "windows") { [10:56:23.448] old_names <- names(...future.oldEnvVars) [10:56:23.448] envs <- base::Sys.getenv() [10:56:23.448] names <- names(envs) [10:56:23.448] common <- intersect(names, old_names) [10:56:23.448] added <- setdiff(names, old_names) [10:56:23.448] removed <- setdiff(old_names, names) [10:56:23.448] changed <- common[...future.oldEnvVars[common] != [10:56:23.448] envs[common]] [10:56:23.448] NAMES <- toupper(changed) [10:56:23.448] args <- list() [10:56:23.448] for (kk in seq_along(NAMES)) { [10:56:23.448] name <- changed[[kk]] [10:56:23.448] NAME <- NAMES[[kk]] [10:56:23.448] if (name != NAME && is.element(NAME, old_names)) [10:56:23.448] next [10:56:23.448] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:23.448] } [10:56:23.448] NAMES <- toupper(added) [10:56:23.448] for (kk in seq_along(NAMES)) { [10:56:23.448] name <- added[[kk]] [10:56:23.448] NAME <- NAMES[[kk]] [10:56:23.448] if (name != NAME && is.element(NAME, old_names)) [10:56:23.448] next [10:56:23.448] args[[name]] <- "" [10:56:23.448] } [10:56:23.448] NAMES <- toupper(removed) [10:56:23.448] for (kk in seq_along(NAMES)) { [10:56:23.448] name <- removed[[kk]] [10:56:23.448] NAME <- NAMES[[kk]] [10:56:23.448] if (name != NAME && is.element(NAME, old_names)) [10:56:23.448] next [10:56:23.448] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:23.448] } [10:56:23.448] if (length(args) > 0) [10:56:23.448] base::do.call(base::Sys.setenv, args = args) [10:56:23.448] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:56:23.448] } [10:56:23.448] else { [10:56:23.448] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:56:23.448] } [10:56:23.448] { [10:56:23.448] if (base::length(...future.futureOptionsAdded) > [10:56:23.448] 0L) { [10:56:23.448] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:56:23.448] base::names(opts) <- ...future.futureOptionsAdded [10:56:23.448] base::options(opts) [10:56:23.448] } [10:56:23.448] { [10:56:23.448] NULL [10:56:23.448] options(future.plan = NULL) [10:56:23.448] if (is.na(NA_character_)) [10:56:23.448] Sys.unsetenv("R_FUTURE_PLAN") [10:56:23.448] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:56:23.448] future::plan(...future.strategy.old, .cleanup = FALSE, [10:56:23.448] .init = FALSE) [10:56:23.448] } [10:56:23.448] } [10:56:23.448] } [10:56:23.448] }) [10:56:23.448] if (TRUE) { [10:56:23.448] base::sink(type = "output", split = FALSE) [10:56:23.448] if (TRUE) { [10:56:23.448] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:56:23.448] } [10:56:23.448] else { [10:56:23.448] ...future.result["stdout"] <- base::list(NULL) [10:56:23.448] } [10:56:23.448] base::close(...future.stdout) [10:56:23.448] ...future.stdout <- NULL [10:56:23.448] } [10:56:23.448] ...future.result$conditions <- ...future.conditions [10:56:23.448] ...future.result$finished <- base::Sys.time() [10:56:23.448] ...future.result [10:56:23.448] } [10:56:23.455] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [10:56:23.455] 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 ...) [10:56:23.463] *** plan('mirai_multisession') ...[10:56:23.464] plan(): Setting new future strategy stack: [10:56:23.464] List of future strategies: [10:56:23.464] 1. mirai_multisession: [10:56:23.464] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [10:56:23.464] - tweaked: FALSE [10:56:23.464] - call: plan(type) [10:56:23.464] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [10:56:23.464] < mirai | $data > [10:56:23.467] getGlobalsAndPackages() ... [10:56:23.467] Not searching for globals [10:56:23.467] - globals: [0] [10:56:23.467] getGlobalsAndPackages() ... DONE [10:56:23.467] getGlobalsAndPackages() ... [10:56:23.468] [10:56:23.468] - globals: [0] [10:56:23.468] getGlobalsAndPackages() ... DONE [10:56:23.468] Packages needed by the future expression (n = 0): [10:56:23.468] Packages needed by future strategies (n = 0): [10:56:23.469] { [10:56:23.469] { [10:56:23.469] { [10:56:23.469] ...future.startTime <- base::Sys.time() [10:56:23.469] { [10:56:23.469] { [10:56:23.469] { [10:56:23.469] base::local({ [10:56:23.469] has_future <- base::requireNamespace("future", [10:56:23.469] quietly = TRUE) [10:56:23.469] if (has_future) { [10:56:23.469] ns <- base::getNamespace("future") [10:56:23.469] version <- ns[[".package"]][["version"]] [10:56:23.469] if (is.null(version)) [10:56:23.469] version <- utils::packageVersion("future") [10:56:23.469] } [10:56:23.469] else { [10:56:23.469] version <- NULL [10:56:23.469] } [10:56:23.469] if (!has_future || version < "1.8.0") { [10:56:23.469] info <- base::c(r_version = base::gsub("R version ", [10:56:23.469] "", base::R.version$version.string), [10:56:23.469] platform = base::sprintf("%s (%s-bit)", [10:56:23.469] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:56:23.469] os = base::paste(base::Sys.info()[base::c("sysname", [10:56:23.469] "release", "version")], collapse = " "), [10:56:23.469] hostname = base::Sys.info()[["nodename"]]) [10:56:23.469] info <- base::sprintf("%s: %s", base::names(info), [10:56:23.469] info) [10:56:23.469] info <- base::paste(info, collapse = "; ") [10:56:23.469] if (!has_future) { [10:56:23.469] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:56:23.469] info) [10:56:23.469] } [10:56:23.469] else { [10:56:23.469] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:56:23.469] info, version) [10:56:23.469] } [10:56:23.469] base::stop(msg) [10:56:23.469] } [10:56:23.469] }) [10:56:23.469] } [10:56:23.469] ...future.strategy.old <- future::plan("list") [10:56:23.469] options(future.plan = NULL) [10:56:23.469] Sys.unsetenv("R_FUTURE_PLAN") [10:56:23.469] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:56:23.469] } [10:56:23.469] ...future.workdir <- getwd() [10:56:23.469] } [10:56:23.469] ...future.oldOptions <- base::as.list(base::.Options) [10:56:23.469] ...future.oldEnvVars <- base::Sys.getenv() [10:56:23.469] } [10:56:23.469] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:56:23.469] future.globals.maxSize = NULL, future.globals.method = NULL, [10:56:23.469] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:56:23.469] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:56:23.469] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:56:23.469] future.stdout.windows.reencode = NULL, width = 80L) [10:56:23.469] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:56:23.469] base::names(...future.oldOptions)) [10:56:23.469] } [10:56:23.469] if (FALSE) { [10:56:23.469] } [10:56:23.469] else { [10:56:23.469] if (TRUE) { [10:56:23.469] ...future.stdout <- base::rawConnection(base::raw(0L), [10:56:23.469] open = "w") [10:56:23.469] } [10:56:23.469] else { [10:56:23.469] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:56:23.469] windows = "NUL", "/dev/null"), open = "w") [10:56:23.469] } [10:56:23.469] base::sink(...future.stdout, type = "output", split = FALSE) [10:56:23.469] base::on.exit(if (!base::is.null(...future.stdout)) { [10:56:23.469] base::sink(type = "output", split = FALSE) [10:56:23.469] base::close(...future.stdout) [10:56:23.469] }, add = TRUE) [10:56:23.469] } [10:56:23.469] ...future.frame <- base::sys.nframe() [10:56:23.469] ...future.conditions <- base::list() [10:56:23.469] ...future.rng <- base::globalenv()$.Random.seed [10:56:23.469] if (FALSE) { [10:56:23.469] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:56:23.469] "...future.value", "...future.globalenv.names", ".Random.seed") [10:56:23.469] } [10:56:23.469] ...future.result <- base::tryCatch({ [10:56:23.469] base::withCallingHandlers({ [10:56:23.469] ...future.value <- base::withVisible(base::local(NA)) [10:56:23.469] future::FutureResult(value = ...future.value$value, [10:56:23.469] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:56:23.469] ...future.rng), globalenv = if (FALSE) [10:56:23.469] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:56:23.469] ...future.globalenv.names)) [10:56:23.469] else NULL, started = ...future.startTime, version = "1.8") [10:56:23.469] }, condition = base::local({ [10:56:23.469] c <- base::c [10:56:23.469] inherits <- base::inherits [10:56:23.469] invokeRestart <- base::invokeRestart [10:56:23.469] length <- base::length [10:56:23.469] list <- base::list [10:56:23.469] seq.int <- base::seq.int [10:56:23.469] signalCondition <- base::signalCondition [10:56:23.469] sys.calls <- base::sys.calls [10:56:23.469] `[[` <- base::`[[` [10:56:23.469] `+` <- base::`+` [10:56:23.469] `<<-` <- base::`<<-` [10:56:23.469] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:56:23.469] calls[seq.int(from = from + 12L, to = length(calls) - [10:56:23.469] 3L)] [10:56:23.469] } [10:56:23.469] function(cond) { [10:56:23.469] is_error <- inherits(cond, "error") [10:56:23.469] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:56:23.469] NULL) [10:56:23.469] if (is_error) { [10:56:23.469] sessionInformation <- function() { [10:56:23.469] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:56:23.469] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:56:23.469] search = base::search(), system = base::Sys.info()) [10:56:23.469] } [10:56:23.469] ...future.conditions[[length(...future.conditions) + [10:56:23.469] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:56:23.469] cond$call), session = sessionInformation(), [10:56:23.469] timestamp = base::Sys.time(), signaled = 0L) [10:56:23.469] signalCondition(cond) [10:56:23.469] } [10:56:23.469] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:56:23.469] signal <- FALSE && inherits(cond, character(0)) [10:56:23.469] ...future.conditions[[length(...future.conditions) + [10:56:23.469] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:56:23.469] if (FALSE && !signal) { [10:56:23.469] muffleCondition <- function (cond, pattern = "^muffle") [10:56:23.469] { [10:56:23.469] inherits <- base::inherits [10:56:23.469] invokeRestart <- base::invokeRestart [10:56:23.469] is.null <- base::is.null [10:56:23.469] muffled <- FALSE [10:56:23.469] if (inherits(cond, "message")) { [10:56:23.469] muffled <- grepl(pattern, "muffleMessage") [10:56:23.469] if (muffled) [10:56:23.469] invokeRestart("muffleMessage") [10:56:23.469] } [10:56:23.469] else if (inherits(cond, "warning")) { [10:56:23.469] muffled <- grepl(pattern, "muffleWarning") [10:56:23.469] if (muffled) [10:56:23.469] invokeRestart("muffleWarning") [10:56:23.469] } [10:56:23.469] else if (inherits(cond, "condition")) { [10:56:23.469] if (!is.null(pattern)) { [10:56:23.469] computeRestarts <- base::computeRestarts [10:56:23.469] grepl <- base::grepl [10:56:23.469] restarts <- computeRestarts(cond) [10:56:23.469] for (restart in restarts) { [10:56:23.469] name <- restart$name [10:56:23.469] if (is.null(name)) [10:56:23.469] next [10:56:23.469] if (!grepl(pattern, name)) [10:56:23.469] next [10:56:23.469] invokeRestart(restart) [10:56:23.469] muffled <- TRUE [10:56:23.469] break [10:56:23.469] } [10:56:23.469] } [10:56:23.469] } [10:56:23.469] invisible(muffled) [10:56:23.469] } [10:56:23.469] muffleCondition(cond, pattern = "^muffle") [10:56:23.469] } [10:56:23.469] } [10:56:23.469] else { [10:56:23.469] if (TRUE) { [10:56:23.469] muffleCondition <- function (cond, pattern = "^muffle") [10:56:23.469] { [10:56:23.469] inherits <- base::inherits [10:56:23.469] invokeRestart <- base::invokeRestart [10:56:23.469] is.null <- base::is.null [10:56:23.469] muffled <- FALSE [10:56:23.469] if (inherits(cond, "message")) { [10:56:23.469] muffled <- grepl(pattern, "muffleMessage") [10:56:23.469] if (muffled) [10:56:23.469] invokeRestart("muffleMessage") [10:56:23.469] } [10:56:23.469] else if (inherits(cond, "warning")) { [10:56:23.469] muffled <- grepl(pattern, "muffleWarning") [10:56:23.469] if (muffled) [10:56:23.469] invokeRestart("muffleWarning") [10:56:23.469] } [10:56:23.469] else if (inherits(cond, "condition")) { [10:56:23.469] if (!is.null(pattern)) { [10:56:23.469] computeRestarts <- base::computeRestarts [10:56:23.469] grepl <- base::grepl [10:56:23.469] restarts <- computeRestarts(cond) [10:56:23.469] for (restart in restarts) { [10:56:23.469] name <- restart$name [10:56:23.469] if (is.null(name)) [10:56:23.469] next [10:56:23.469] if (!grepl(pattern, name)) [10:56:23.469] next [10:56:23.469] invokeRestart(restart) [10:56:23.469] muffled <- TRUE [10:56:23.469] break [10:56:23.469] } [10:56:23.469] } [10:56:23.469] } [10:56:23.469] invisible(muffled) [10:56:23.469] } [10:56:23.469] muffleCondition(cond, pattern = "^muffle") [10:56:23.469] } [10:56:23.469] } [10:56:23.469] } [10:56:23.469] })) [10:56:23.469] }, error = function(ex) { [10:56:23.469] base::structure(base::list(value = NULL, visible = NULL, [10:56:23.469] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:56:23.469] ...future.rng), started = ...future.startTime, [10:56:23.469] finished = Sys.time(), session_uuid = NA_character_, [10:56:23.469] version = "1.8"), class = "FutureResult") [10:56:23.469] }, finally = { [10:56:23.469] if (!identical(...future.workdir, getwd())) [10:56:23.469] setwd(...future.workdir) [10:56:23.469] { [10:56:23.469] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:56:23.469] ...future.oldOptions$nwarnings <- NULL [10:56:23.469] } [10:56:23.469] base::options(...future.oldOptions) [10:56:23.469] if (.Platform$OS.type == "windows") { [10:56:23.469] old_names <- names(...future.oldEnvVars) [10:56:23.469] envs <- base::Sys.getenv() [10:56:23.469] names <- names(envs) [10:56:23.469] common <- intersect(names, old_names) [10:56:23.469] added <- setdiff(names, old_names) [10:56:23.469] removed <- setdiff(old_names, names) [10:56:23.469] changed <- common[...future.oldEnvVars[common] != [10:56:23.469] envs[common]] [10:56:23.469] NAMES <- toupper(changed) [10:56:23.469] args <- list() [10:56:23.469] for (kk in seq_along(NAMES)) { [10:56:23.469] name <- changed[[kk]] [10:56:23.469] NAME <- NAMES[[kk]] [10:56:23.469] if (name != NAME && is.element(NAME, old_names)) [10:56:23.469] next [10:56:23.469] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:23.469] } [10:56:23.469] NAMES <- toupper(added) [10:56:23.469] for (kk in seq_along(NAMES)) { [10:56:23.469] name <- added[[kk]] [10:56:23.469] NAME <- NAMES[[kk]] [10:56:23.469] if (name != NAME && is.element(NAME, old_names)) [10:56:23.469] next [10:56:23.469] args[[name]] <- "" [10:56:23.469] } [10:56:23.469] NAMES <- toupper(removed) [10:56:23.469] for (kk in seq_along(NAMES)) { [10:56:23.469] name <- removed[[kk]] [10:56:23.469] NAME <- NAMES[[kk]] [10:56:23.469] if (name != NAME && is.element(NAME, old_names)) [10:56:23.469] next [10:56:23.469] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:23.469] } [10:56:23.469] if (length(args) > 0) [10:56:23.469] base::do.call(base::Sys.setenv, args = args) [10:56:23.469] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:56:23.469] } [10:56:23.469] else { [10:56:23.469] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:56:23.469] } [10:56:23.469] { [10:56:23.469] if (base::length(...future.futureOptionsAdded) > [10:56:23.469] 0L) { [10:56:23.469] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:56:23.469] base::names(opts) <- ...future.futureOptionsAdded [10:56:23.469] base::options(opts) [10:56:23.469] } [10:56:23.469] { [10:56:23.469] NULL [10:56:23.469] options(future.plan = NULL) [10:56:23.469] if (is.na(NA_character_)) [10:56:23.469] Sys.unsetenv("R_FUTURE_PLAN") [10:56:23.469] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:56:23.469] future::plan(...future.strategy.old, .cleanup = FALSE, [10:56:23.469] .init = FALSE) [10:56:23.469] } [10:56:23.469] } [10:56:23.469] } [10:56:23.469] }) [10:56:23.469] if (TRUE) { [10:56:23.469] base::sink(type = "output", split = FALSE) [10:56:23.469] if (TRUE) { [10:56:23.469] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:56:23.469] } [10:56:23.469] else { [10:56:23.469] ...future.result["stdout"] <- base::list(NULL) [10:56:23.469] } [10:56:23.469] base::close(...future.stdout) [10:56:23.469] ...future.stdout <- NULL [10:56:23.469] } [10:56:23.469] ...future.result$conditions <- ...future.conditions [10:56:23.469] ...future.result$finished <- base::Sys.time() [10:56:23.469] ...future.result [10:56:23.469] } [10:56:23.476] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [10:56:23.476] plan(): nbrOfWorkers() = 2 [10:56:23.477] getGlobalsAndPackages() ... [10:56:23.477] Searching for globals... [10:56:23.486] - globals found: [4] '{', '<-', '*', 'a' [10:56:23.487] Searching for globals ... DONE [10:56:23.487] Resolving globals: FALSE [10:56:23.488] The total size of the 1 globals is 56 bytes (56 bytes) [10:56:23.489] 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') [10:56:23.489] - globals: [1] 'a' [10:56:23.489] [10:56:23.489] getGlobalsAndPackages() ... DONE [10:56:23.490] run() for 'Future' ... [10:56:23.490] - state: 'created' [10:56:23.490] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [10:56:23.492] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [10:56:23.493] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [10:56:23.493] - Field: 'label' [10:56:23.493] - Field: 'local' [10:56:23.493] - Field: 'owner' [10:56:23.493] - Field: 'envir' [10:56:23.494] - Field: 'packages' [10:56:23.494] - Field: 'gc' [10:56:23.494] - Field: 'conditions' [10:56:23.494] - Field: 'expr' [10:56:23.494] - Field: 'uuid' [10:56:23.494] - Field: 'seed' [10:56:23.495] - Field: 'version' [10:56:23.495] - Field: 'result' [10:56:23.495] - Field: 'asynchronous' [10:56:23.495] - Field: 'calls' [10:56:23.495] - Field: 'globals' [10:56:23.496] - Field: 'stdout' [10:56:23.496] - Field: 'earlySignal' [10:56:23.496] - Field: 'lazy' [10:56:23.496] - Field: 'state' [10:56:23.496] - Field: '.cluster' [10:56:23.496] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [10:56:23.497] - Launch lazy future ... [10:56:23.497] Packages needed by the future expression (n = 0): [10:56:23.497] Packages needed by future strategies (n = 0): [10:56:23.497] { [10:56:23.497] { [10:56:23.497] { [10:56:23.497] ...future.startTime <- base::Sys.time() [10:56:23.497] { [10:56:23.497] { [10:56:23.497] { [10:56:23.497] base::local({ [10:56:23.497] has_future <- base::requireNamespace("future", [10:56:23.497] quietly = TRUE) [10:56:23.497] if (has_future) { [10:56:23.497] ns <- base::getNamespace("future") [10:56:23.497] version <- ns[[".package"]][["version"]] [10:56:23.497] if (is.null(version)) [10:56:23.497] version <- utils::packageVersion("future") [10:56:23.497] } [10:56:23.497] else { [10:56:23.497] version <- NULL [10:56:23.497] } [10:56:23.497] if (!has_future || version < "1.8.0") { [10:56:23.497] info <- base::c(r_version = base::gsub("R version ", [10:56:23.497] "", base::R.version$version.string), [10:56:23.497] platform = base::sprintf("%s (%s-bit)", [10:56:23.497] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:56:23.497] os = base::paste(base::Sys.info()[base::c("sysname", [10:56:23.497] "release", "version")], collapse = " "), [10:56:23.497] hostname = base::Sys.info()[["nodename"]]) [10:56:23.497] info <- base::sprintf("%s: %s", base::names(info), [10:56:23.497] info) [10:56:23.497] info <- base::paste(info, collapse = "; ") [10:56:23.497] if (!has_future) { [10:56:23.497] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:56:23.497] info) [10:56:23.497] } [10:56:23.497] else { [10:56:23.497] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:56:23.497] info, version) [10:56:23.497] } [10:56:23.497] base::stop(msg) [10:56:23.497] } [10:56:23.497] }) [10:56:23.497] } [10:56:23.497] ...future.strategy.old <- future::plan("list") [10:56:23.497] options(future.plan = NULL) [10:56:23.497] Sys.unsetenv("R_FUTURE_PLAN") [10:56:23.497] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:56:23.497] } [10:56:23.497] ...future.workdir <- getwd() [10:56:23.497] } [10:56:23.497] ...future.oldOptions <- base::as.list(base::.Options) [10:56:23.497] ...future.oldEnvVars <- base::Sys.getenv() [10:56:23.497] } [10:56:23.497] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:56:23.497] future.globals.maxSize = NULL, future.globals.method = NULL, [10:56:23.497] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:56:23.497] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:56:23.497] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:56:23.497] future.stdout.windows.reencode = NULL, width = 80L) [10:56:23.497] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:56:23.497] base::names(...future.oldOptions)) [10:56:23.497] } [10:56:23.497] if (FALSE) { [10:56:23.497] } [10:56:23.497] else { [10:56:23.497] if (TRUE) { [10:56:23.497] ...future.stdout <- base::rawConnection(base::raw(0L), [10:56:23.497] open = "w") [10:56:23.497] } [10:56:23.497] else { [10:56:23.497] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:56:23.497] windows = "NUL", "/dev/null"), open = "w") [10:56:23.497] } [10:56:23.497] base::sink(...future.stdout, type = "output", split = FALSE) [10:56:23.497] base::on.exit(if (!base::is.null(...future.stdout)) { [10:56:23.497] base::sink(type = "output", split = FALSE) [10:56:23.497] base::close(...future.stdout) [10:56:23.497] }, add = TRUE) [10:56:23.497] } [10:56:23.497] ...future.frame <- base::sys.nframe() [10:56:23.497] ...future.conditions <- base::list() [10:56:23.497] ...future.rng <- base::globalenv()$.Random.seed [10:56:23.497] if (FALSE) { [10:56:23.497] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:56:23.497] "...future.value", "...future.globalenv.names", ".Random.seed") [10:56:23.497] } [10:56:23.497] ...future.result <- base::tryCatch({ [10:56:23.497] base::withCallingHandlers({ [10:56:23.497] ...future.value <- base::withVisible(base::local({ [10:56:23.497] b <- 3 [10:56:23.497] c <- 2 [10:56:23.497] a * b * c [10:56:23.497] })) [10:56:23.497] future::FutureResult(value = ...future.value$value, [10:56:23.497] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:56:23.497] ...future.rng), globalenv = if (FALSE) [10:56:23.497] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:56:23.497] ...future.globalenv.names)) [10:56:23.497] else NULL, started = ...future.startTime, version = "1.8") [10:56:23.497] }, condition = base::local({ [10:56:23.497] c <- base::c [10:56:23.497] inherits <- base::inherits [10:56:23.497] invokeRestart <- base::invokeRestart [10:56:23.497] length <- base::length [10:56:23.497] list <- base::list [10:56:23.497] seq.int <- base::seq.int [10:56:23.497] signalCondition <- base::signalCondition [10:56:23.497] sys.calls <- base::sys.calls [10:56:23.497] `[[` <- base::`[[` [10:56:23.497] `+` <- base::`+` [10:56:23.497] `<<-` <- base::`<<-` [10:56:23.497] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:56:23.497] calls[seq.int(from = from + 12L, to = length(calls) - [10:56:23.497] 3L)] [10:56:23.497] } [10:56:23.497] function(cond) { [10:56:23.497] is_error <- inherits(cond, "error") [10:56:23.497] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:56:23.497] NULL) [10:56:23.497] if (is_error) { [10:56:23.497] sessionInformation <- function() { [10:56:23.497] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:56:23.497] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:56:23.497] search = base::search(), system = base::Sys.info()) [10:56:23.497] } [10:56:23.497] ...future.conditions[[length(...future.conditions) + [10:56:23.497] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:56:23.497] cond$call), session = sessionInformation(), [10:56:23.497] timestamp = base::Sys.time(), signaled = 0L) [10:56:23.497] signalCondition(cond) [10:56:23.497] } [10:56:23.497] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:56:23.497] signal <- FALSE && inherits(cond, character(0)) [10:56:23.497] ...future.conditions[[length(...future.conditions) + [10:56:23.497] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:56:23.497] if (FALSE && !signal) { [10:56:23.497] muffleCondition <- function (cond, pattern = "^muffle") [10:56:23.497] { [10:56:23.497] inherits <- base::inherits [10:56:23.497] invokeRestart <- base::invokeRestart [10:56:23.497] is.null <- base::is.null [10:56:23.497] muffled <- FALSE [10:56:23.497] if (inherits(cond, "message")) { [10:56:23.497] muffled <- grepl(pattern, "muffleMessage") [10:56:23.497] if (muffled) [10:56:23.497] invokeRestart("muffleMessage") [10:56:23.497] } [10:56:23.497] else if (inherits(cond, "warning")) { [10:56:23.497] muffled <- grepl(pattern, "muffleWarning") [10:56:23.497] if (muffled) [10:56:23.497] invokeRestart("muffleWarning") [10:56:23.497] } [10:56:23.497] else if (inherits(cond, "condition")) { [10:56:23.497] if (!is.null(pattern)) { [10:56:23.497] computeRestarts <- base::computeRestarts [10:56:23.497] grepl <- base::grepl [10:56:23.497] restarts <- computeRestarts(cond) [10:56:23.497] for (restart in restarts) { [10:56:23.497] name <- restart$name [10:56:23.497] if (is.null(name)) [10:56:23.497] next [10:56:23.497] if (!grepl(pattern, name)) [10:56:23.497] next [10:56:23.497] invokeRestart(restart) [10:56:23.497] muffled <- TRUE [10:56:23.497] break [10:56:23.497] } [10:56:23.497] } [10:56:23.497] } [10:56:23.497] invisible(muffled) [10:56:23.497] } [10:56:23.497] muffleCondition(cond, pattern = "^muffle") [10:56:23.497] } [10:56:23.497] } [10:56:23.497] else { [10:56:23.497] if (TRUE) { [10:56:23.497] muffleCondition <- function (cond, pattern = "^muffle") [10:56:23.497] { [10:56:23.497] inherits <- base::inherits [10:56:23.497] invokeRestart <- base::invokeRestart [10:56:23.497] is.null <- base::is.null [10:56:23.497] muffled <- FALSE [10:56:23.497] if (inherits(cond, "message")) { [10:56:23.497] muffled <- grepl(pattern, "muffleMessage") [10:56:23.497] if (muffled) [10:56:23.497] invokeRestart("muffleMessage") [10:56:23.497] } [10:56:23.497] else if (inherits(cond, "warning")) { [10:56:23.497] muffled <- grepl(pattern, "muffleWarning") [10:56:23.497] if (muffled) [10:56:23.497] invokeRestart("muffleWarning") [10:56:23.497] } [10:56:23.497] else if (inherits(cond, "condition")) { [10:56:23.497] if (!is.null(pattern)) { [10:56:23.497] computeRestarts <- base::computeRestarts [10:56:23.497] grepl <- base::grepl [10:56:23.497] restarts <- computeRestarts(cond) [10:56:23.497] for (restart in restarts) { [10:56:23.497] name <- restart$name [10:56:23.497] if (is.null(name)) [10:56:23.497] next [10:56:23.497] if (!grepl(pattern, name)) [10:56:23.497] next [10:56:23.497] invokeRestart(restart) [10:56:23.497] muffled <- TRUE [10:56:23.497] break [10:56:23.497] } [10:56:23.497] } [10:56:23.497] } [10:56:23.497] invisible(muffled) [10:56:23.497] } [10:56:23.497] muffleCondition(cond, pattern = "^muffle") [10:56:23.497] } [10:56:23.497] } [10:56:23.497] } [10:56:23.497] })) [10:56:23.497] }, error = function(ex) { [10:56:23.497] base::structure(base::list(value = NULL, visible = NULL, [10:56:23.497] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:56:23.497] ...future.rng), started = ...future.startTime, [10:56:23.497] finished = Sys.time(), session_uuid = NA_character_, [10:56:23.497] version = "1.8"), class = "FutureResult") [10:56:23.497] }, finally = { [10:56:23.497] if (!identical(...future.workdir, getwd())) [10:56:23.497] setwd(...future.workdir) [10:56:23.497] { [10:56:23.497] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:56:23.497] ...future.oldOptions$nwarnings <- NULL [10:56:23.497] } [10:56:23.497] base::options(...future.oldOptions) [10:56:23.497] if (.Platform$OS.type == "windows") { [10:56:23.497] old_names <- names(...future.oldEnvVars) [10:56:23.497] envs <- base::Sys.getenv() [10:56:23.497] names <- names(envs) [10:56:23.497] common <- intersect(names, old_names) [10:56:23.497] added <- setdiff(names, old_names) [10:56:23.497] removed <- setdiff(old_names, names) [10:56:23.497] changed <- common[...future.oldEnvVars[common] != [10:56:23.497] envs[common]] [10:56:23.497] NAMES <- toupper(changed) [10:56:23.497] args <- list() [10:56:23.497] for (kk in seq_along(NAMES)) { [10:56:23.497] name <- changed[[kk]] [10:56:23.497] NAME <- NAMES[[kk]] [10:56:23.497] if (name != NAME && is.element(NAME, old_names)) [10:56:23.497] next [10:56:23.497] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:23.497] } [10:56:23.497] NAMES <- toupper(added) [10:56:23.497] for (kk in seq_along(NAMES)) { [10:56:23.497] name <- added[[kk]] [10:56:23.497] NAME <- NAMES[[kk]] [10:56:23.497] if (name != NAME && is.element(NAME, old_names)) [10:56:23.497] next [10:56:23.497] args[[name]] <- "" [10:56:23.497] } [10:56:23.497] NAMES <- toupper(removed) [10:56:23.497] for (kk in seq_along(NAMES)) { [10:56:23.497] name <- removed[[kk]] [10:56:23.497] NAME <- NAMES[[kk]] [10:56:23.497] if (name != NAME && is.element(NAME, old_names)) [10:56:23.497] next [10:56:23.497] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:23.497] } [10:56:23.497] if (length(args) > 0) [10:56:23.497] base::do.call(base::Sys.setenv, args = args) [10:56:23.497] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:56:23.497] } [10:56:23.497] else { [10:56:23.497] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:56:23.497] } [10:56:23.497] { [10:56:23.497] if (base::length(...future.futureOptionsAdded) > [10:56:23.497] 0L) { [10:56:23.497] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:56:23.497] base::names(opts) <- ...future.futureOptionsAdded [10:56:23.497] base::options(opts) [10:56:23.497] } [10:56:23.497] { [10:56:23.497] NULL [10:56:23.497] options(future.plan = NULL) [10:56:23.497] if (is.na(NA_character_)) [10:56:23.497] Sys.unsetenv("R_FUTURE_PLAN") [10:56:23.497] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:56:23.497] future::plan(...future.strategy.old, .cleanup = FALSE, [10:56:23.497] .init = FALSE) [10:56:23.497] } [10:56:23.497] } [10:56:23.497] } [10:56:23.497] }) [10:56:23.497] if (TRUE) { [10:56:23.497] base::sink(type = "output", split = FALSE) [10:56:23.497] if (TRUE) { [10:56:23.497] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:56:23.497] } [10:56:23.497] else { [10:56:23.497] ...future.result["stdout"] <- base::list(NULL) [10:56:23.497] } [10:56:23.497] base::close(...future.stdout) [10:56:23.497] ...future.stdout <- NULL [10:56:23.497] } [10:56:23.497] ...future.result$conditions <- ...future.conditions [10:56:23.497] ...future.result$finished <- base::Sys.time() [10:56:23.497] ...future.result [10:56:23.497] } [10:56:23.501] - Launch lazy future ... done [10:56:23.501] run() for 'MiraiFuture' ... done [1] 0 [10:56:23.505] *** 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] 196136 > > plan(mirai_multisession) [10:56:23.505] plan(): Setting new future strategy stack: [10:56:23.505] List of future strategies: [10:56:23.505] 1. mirai_multisession: [10:56:23.505] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [10:56:23.505] - tweaked: FALSE [10:56:23.505] - call: plan(mirai_multisession) [10:56:23.506] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [10:56:23.506] < mirai | $data > [10:56:23.508] getGlobalsAndPackages() ... [10:56:23.508] Not searching for globals [10:56:23.508] - globals: [0] [10:56:23.509] getGlobalsAndPackages() ... DONE [10:56:23.509] getGlobalsAndPackages() ... [10:56:23.509] [10:56:23.509] - globals: [0] [10:56:23.509] getGlobalsAndPackages() ... DONE [10:56:23.510] Packages needed by the future expression (n = 0): [10:56:23.510] Packages needed by future strategies (n = 0): [10:56:23.510] { [10:56:23.510] { [10:56:23.510] { [10:56:23.510] ...future.startTime <- base::Sys.time() [10:56:23.510] { [10:56:23.510] { [10:56:23.510] { [10:56:23.510] base::local({ [10:56:23.510] has_future <- base::requireNamespace("future", [10:56:23.510] quietly = TRUE) [10:56:23.510] if (has_future) { [10:56:23.510] ns <- base::getNamespace("future") [10:56:23.510] version <- ns[[".package"]][["version"]] [10:56:23.510] if (is.null(version)) [10:56:23.510] version <- utils::packageVersion("future") [10:56:23.510] } [10:56:23.510] else { [10:56:23.510] version <- NULL [10:56:23.510] } [10:56:23.510] if (!has_future || version < "1.8.0") { [10:56:23.510] info <- base::c(r_version = base::gsub("R version ", [10:56:23.510] "", base::R.version$version.string), [10:56:23.510] platform = base::sprintf("%s (%s-bit)", [10:56:23.510] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:56:23.510] os = base::paste(base::Sys.info()[base::c("sysname", [10:56:23.510] "release", "version")], collapse = " "), [10:56:23.510] hostname = base::Sys.info()[["nodename"]]) [10:56:23.510] info <- base::sprintf("%s: %s", base::names(info), [10:56:23.510] info) [10:56:23.510] info <- base::paste(info, collapse = "; ") [10:56:23.510] if (!has_future) { [10:56:23.510] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:56:23.510] info) [10:56:23.510] } [10:56:23.510] else { [10:56:23.510] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:56:23.510] info, version) [10:56:23.510] } [10:56:23.510] base::stop(msg) [10:56:23.510] } [10:56:23.510] }) [10:56:23.510] } [10:56:23.510] ...future.strategy.old <- future::plan("list") [10:56:23.510] options(future.plan = NULL) [10:56:23.510] Sys.unsetenv("R_FUTURE_PLAN") [10:56:23.510] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:56:23.510] } [10:56:23.510] ...future.workdir <- getwd() [10:56:23.510] } [10:56:23.510] ...future.oldOptions <- base::as.list(base::.Options) [10:56:23.510] ...future.oldEnvVars <- base::Sys.getenv() [10:56:23.510] } [10:56:23.510] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:56:23.510] future.globals.maxSize = NULL, future.globals.method = NULL, [10:56:23.510] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:56:23.510] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:56:23.510] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:56:23.510] future.stdout.windows.reencode = NULL, width = 80L) [10:56:23.510] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:56:23.510] base::names(...future.oldOptions)) [10:56:23.510] } [10:56:23.510] if (FALSE) { [10:56:23.510] } [10:56:23.510] else { [10:56:23.510] if (TRUE) { [10:56:23.510] ...future.stdout <- base::rawConnection(base::raw(0L), [10:56:23.510] open = "w") [10:56:23.510] } [10:56:23.510] else { [10:56:23.510] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:56:23.510] windows = "NUL", "/dev/null"), open = "w") [10:56:23.510] } [10:56:23.510] base::sink(...future.stdout, type = "output", split = FALSE) [10:56:23.510] base::on.exit(if (!base::is.null(...future.stdout)) { [10:56:23.510] base::sink(type = "output", split = FALSE) [10:56:23.510] base::close(...future.stdout) [10:56:23.510] }, add = TRUE) [10:56:23.510] } [10:56:23.510] ...future.frame <- base::sys.nframe() [10:56:23.510] ...future.conditions <- base::list() [10:56:23.510] ...future.rng <- base::globalenv()$.Random.seed [10:56:23.510] if (FALSE) { [10:56:23.510] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:56:23.510] "...future.value", "...future.globalenv.names", ".Random.seed") [10:56:23.510] } [10:56:23.510] ...future.result <- base::tryCatch({ [10:56:23.510] base::withCallingHandlers({ [10:56:23.510] ...future.value <- base::withVisible(base::local(NA)) [10:56:23.510] future::FutureResult(value = ...future.value$value, [10:56:23.510] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:56:23.510] ...future.rng), globalenv = if (FALSE) [10:56:23.510] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:56:23.510] ...future.globalenv.names)) [10:56:23.510] else NULL, started = ...future.startTime, version = "1.8") [10:56:23.510] }, condition = base::local({ [10:56:23.510] c <- base::c [10:56:23.510] inherits <- base::inherits [10:56:23.510] invokeRestart <- base::invokeRestart [10:56:23.510] length <- base::length [10:56:23.510] list <- base::list [10:56:23.510] seq.int <- base::seq.int [10:56:23.510] signalCondition <- base::signalCondition [10:56:23.510] sys.calls <- base::sys.calls [10:56:23.510] `[[` <- base::`[[` [10:56:23.510] `+` <- base::`+` [10:56:23.510] `<<-` <- base::`<<-` [10:56:23.510] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:56:23.510] calls[seq.int(from = from + 12L, to = length(calls) - [10:56:23.510] 3L)] [10:56:23.510] } [10:56:23.510] function(cond) { [10:56:23.510] is_error <- inherits(cond, "error") [10:56:23.510] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:56:23.510] NULL) [10:56:23.510] if (is_error) { [10:56:23.510] sessionInformation <- function() { [10:56:23.510] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:56:23.510] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:56:23.510] search = base::search(), system = base::Sys.info()) [10:56:23.510] } [10:56:23.510] ...future.conditions[[length(...future.conditions) + [10:56:23.510] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:56:23.510] cond$call), session = sessionInformation(), [10:56:23.510] timestamp = base::Sys.time(), signaled = 0L) [10:56:23.510] signalCondition(cond) [10:56:23.510] } [10:56:23.510] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:56:23.510] signal <- FALSE && inherits(cond, character(0)) [10:56:23.510] ...future.conditions[[length(...future.conditions) + [10:56:23.510] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:56:23.510] if (FALSE && !signal) { [10:56:23.510] muffleCondition <- function (cond, pattern = "^muffle") [10:56:23.510] { [10:56:23.510] inherits <- base::inherits [10:56:23.510] invokeRestart <- base::invokeRestart [10:56:23.510] is.null <- base::is.null [10:56:23.510] muffled <- FALSE [10:56:23.510] if (inherits(cond, "message")) { [10:56:23.510] muffled <- grepl(pattern, "muffleMessage") [10:56:23.510] if (muffled) [10:56:23.510] invokeRestart("muffleMessage") [10:56:23.510] } [10:56:23.510] else if (inherits(cond, "warning")) { [10:56:23.510] muffled <- grepl(pattern, "muffleWarning") [10:56:23.510] if (muffled) [10:56:23.510] invokeRestart("muffleWarning") [10:56:23.510] } [10:56:23.510] else if (inherits(cond, "condition")) { [10:56:23.510] if (!is.null(pattern)) { [10:56:23.510] computeRestarts <- base::computeRestarts [10:56:23.510] grepl <- base::grepl [10:56:23.510] restarts <- computeRestarts(cond) [10:56:23.510] for (restart in restarts) { [10:56:23.510] name <- restart$name [10:56:23.510] if (is.null(name)) [10:56:23.510] next [10:56:23.510] if (!grepl(pattern, name)) [10:56:23.510] next [10:56:23.510] invokeRestart(restart) [10:56:23.510] muffled <- TRUE [10:56:23.510] break [10:56:23.510] } [10:56:23.510] } [10:56:23.510] } [10:56:23.510] invisible(muffled) [10:56:23.510] } [10:56:23.510] muffleCondition(cond, pattern = "^muffle") [10:56:23.510] } [10:56:23.510] } [10:56:23.510] else { [10:56:23.510] if (TRUE) { [10:56:23.510] muffleCondition <- function (cond, pattern = "^muffle") [10:56:23.510] { [10:56:23.510] inherits <- base::inherits [10:56:23.510] invokeRestart <- base::invokeRestart [10:56:23.510] is.null <- base::is.null [10:56:23.510] muffled <- FALSE [10:56:23.510] if (inherits(cond, "message")) { [10:56:23.510] muffled <- grepl(pattern, "muffleMessage") [10:56:23.510] if (muffled) [10:56:23.510] invokeRestart("muffleMessage") [10:56:23.510] } [10:56:23.510] else if (inherits(cond, "warning")) { [10:56:23.510] muffled <- grepl(pattern, "muffleWarning") [10:56:23.510] if (muffled) [10:56:23.510] invokeRestart("muffleWarning") [10:56:23.510] } [10:56:23.510] else if (inherits(cond, "condition")) { [10:56:23.510] if (!is.null(pattern)) { [10:56:23.510] computeRestarts <- base::computeRestarts [10:56:23.510] grepl <- base::grepl [10:56:23.510] restarts <- computeRestarts(cond) [10:56:23.510] for (restart in restarts) { [10:56:23.510] name <- restart$name [10:56:23.510] if (is.null(name)) [10:56:23.510] next [10:56:23.510] if (!grepl(pattern, name)) [10:56:23.510] next [10:56:23.510] invokeRestart(restart) [10:56:23.510] muffled <- TRUE [10:56:23.510] break [10:56:23.510] } [10:56:23.510] } [10:56:23.510] } [10:56:23.510] invisible(muffled) [10:56:23.510] } [10:56:23.510] muffleCondition(cond, pattern = "^muffle") [10:56:23.510] } [10:56:23.510] } [10:56:23.510] } [10:56:23.510] })) [10:56:23.510] }, error = function(ex) { [10:56:23.510] base::structure(base::list(value = NULL, visible = NULL, [10:56:23.510] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:56:23.510] ...future.rng), started = ...future.startTime, [10:56:23.510] finished = Sys.time(), session_uuid = NA_character_, [10:56:23.510] version = "1.8"), class = "FutureResult") [10:56:23.510] }, finally = { [10:56:23.510] if (!identical(...future.workdir, getwd())) [10:56:23.510] setwd(...future.workdir) [10:56:23.510] { [10:56:23.510] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:56:23.510] ...future.oldOptions$nwarnings <- NULL [10:56:23.510] } [10:56:23.510] base::options(...future.oldOptions) [10:56:23.510] if (.Platform$OS.type == "windows") { [10:56:23.510] old_names <- names(...future.oldEnvVars) [10:56:23.510] envs <- base::Sys.getenv() [10:56:23.510] names <- names(envs) [10:56:23.510] common <- intersect(names, old_names) [10:56:23.510] added <- setdiff(names, old_names) [10:56:23.510] removed <- setdiff(old_names, names) [10:56:23.510] changed <- common[...future.oldEnvVars[common] != [10:56:23.510] envs[common]] [10:56:23.510] NAMES <- toupper(changed) [10:56:23.510] args <- list() [10:56:23.510] for (kk in seq_along(NAMES)) { [10:56:23.510] name <- changed[[kk]] [10:56:23.510] NAME <- NAMES[[kk]] [10:56:23.510] if (name != NAME && is.element(NAME, old_names)) [10:56:23.510] next [10:56:23.510] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:23.510] } [10:56:23.510] NAMES <- toupper(added) [10:56:23.510] for (kk in seq_along(NAMES)) { [10:56:23.510] name <- added[[kk]] [10:56:23.510] NAME <- NAMES[[kk]] [10:56:23.510] if (name != NAME && is.element(NAME, old_names)) [10:56:23.510] next [10:56:23.510] args[[name]] <- "" [10:56:23.510] } [10:56:23.510] NAMES <- toupper(removed) [10:56:23.510] for (kk in seq_along(NAMES)) { [10:56:23.510] name <- removed[[kk]] [10:56:23.510] NAME <- NAMES[[kk]] [10:56:23.510] if (name != NAME && is.element(NAME, old_names)) [10:56:23.510] next [10:56:23.510] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:23.510] } [10:56:23.510] if (length(args) > 0) [10:56:23.510] base::do.call(base::Sys.setenv, args = args) [10:56:23.510] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:56:23.510] } [10:56:23.510] else { [10:56:23.510] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:56:23.510] } [10:56:23.510] { [10:56:23.510] if (base::length(...future.futureOptionsAdded) > [10:56:23.510] 0L) { [10:56:23.510] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:56:23.510] base::names(opts) <- ...future.futureOptionsAdded [10:56:23.510] base::options(opts) [10:56:23.510] } [10:56:23.510] { [10:56:23.510] NULL [10:56:23.510] options(future.plan = NULL) [10:56:23.510] if (is.na(NA_character_)) [10:56:23.510] Sys.unsetenv("R_FUTURE_PLAN") [10:56:23.510] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:56:23.510] future::plan(...future.strategy.old, .cleanup = FALSE, [10:56:23.510] .init = FALSE) [10:56:23.510] } [10:56:23.510] } [10:56:23.510] } [10:56:23.510] }) [10:56:23.510] if (TRUE) { [10:56:23.510] base::sink(type = "output", split = FALSE) [10:56:23.510] if (TRUE) { [10:56:23.510] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:56:23.510] } [10:56:23.510] else { [10:56:23.510] ...future.result["stdout"] <- base::list(NULL) [10:56:23.510] } [10:56:23.510] base::close(...future.stdout) [10:56:23.510] ...future.stdout <- NULL [10:56:23.510] } [10:56:23.510] ...future.result$conditions <- ...future.conditions [10:56:23.510] ...future.result$finished <- base::Sys.time() [10:56:23.510] ...future.result [10:56:23.510] } [10:56:23.517] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [10:56:23.517] plan(): nbrOfWorkers() = 2 > pid %<-% { Sys.getpid() } [10:56:23.519] getGlobalsAndPackages() ... [10:56:23.519] Searching for globals... [10:56:23.520] - globals found: [2] '{', 'Sys.getpid' [10:56:23.520] Searching for globals ... DONE [10:56:23.520] Resolving globals: FALSE [10:56:23.520] [10:56:23.521] [10:56:23.521] getGlobalsAndPackages() ... DONE [10:56:23.521] run() for 'Future' ... [10:56:23.521] - state: 'created' [10:56:23.521] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [10:56:23.524] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [10:56:23.524] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [10:56:23.524] - Field: 'label' [10:56:23.524] - Field: 'local' [10:56:23.525] - Field: 'owner' [10:56:23.525] - Field: 'envir' [10:56:23.525] - Field: 'packages' [10:56:23.525] - Field: 'gc' [10:56:23.525] - Field: 'conditions' [10:56:23.525] - Field: 'expr' [10:56:23.526] - Field: 'uuid' [10:56:23.526] - Field: 'seed' [10:56:23.526] - Field: 'version' [10:56:23.526] - Field: 'result' [10:56:23.526] - Field: 'asynchronous' [10:56:23.526] - Field: 'calls' [10:56:23.527] - Field: 'globals' [10:56:23.527] - Field: 'stdout' [10:56:23.527] - Field: 'earlySignal' [10:56:23.527] - Field: 'lazy' [10:56:23.527] - Field: 'state' [10:56:23.527] - Field: '.cluster' [10:56:23.528] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [10:56:23.528] - Launch lazy future ... [10:56:23.528] Packages needed by the future expression (n = 0): [10:56:23.528] Packages needed by future strategies (n = 0): [10:56:23.529] { [10:56:23.529] { [10:56:23.529] { [10:56:23.529] ...future.startTime <- base::Sys.time() [10:56:23.529] { [10:56:23.529] { [10:56:23.529] { [10:56:23.529] base::local({ [10:56:23.529] has_future <- base::requireNamespace("future", [10:56:23.529] quietly = TRUE) [10:56:23.529] if (has_future) { [10:56:23.529] ns <- base::getNamespace("future") [10:56:23.529] version <- ns[[".package"]][["version"]] [10:56:23.529] if (is.null(version)) [10:56:23.529] version <- utils::packageVersion("future") [10:56:23.529] } [10:56:23.529] else { [10:56:23.529] version <- NULL [10:56:23.529] } [10:56:23.529] if (!has_future || version < "1.8.0") { [10:56:23.529] info <- base::c(r_version = base::gsub("R version ", [10:56:23.529] "", base::R.version$version.string), [10:56:23.529] platform = base::sprintf("%s (%s-bit)", [10:56:23.529] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:56:23.529] os = base::paste(base::Sys.info()[base::c("sysname", [10:56:23.529] "release", "version")], collapse = " "), [10:56:23.529] hostname = base::Sys.info()[["nodename"]]) [10:56:23.529] info <- base::sprintf("%s: %s", base::names(info), [10:56:23.529] info) [10:56:23.529] info <- base::paste(info, collapse = "; ") [10:56:23.529] if (!has_future) { [10:56:23.529] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:56:23.529] info) [10:56:23.529] } [10:56:23.529] else { [10:56:23.529] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:56:23.529] info, version) [10:56:23.529] } [10:56:23.529] base::stop(msg) [10:56:23.529] } [10:56:23.529] }) [10:56:23.529] } [10:56:23.529] ...future.strategy.old <- future::plan("list") [10:56:23.529] options(future.plan = NULL) [10:56:23.529] Sys.unsetenv("R_FUTURE_PLAN") [10:56:23.529] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:56:23.529] } [10:56:23.529] ...future.workdir <- getwd() [10:56:23.529] } [10:56:23.529] ...future.oldOptions <- base::as.list(base::.Options) [10:56:23.529] ...future.oldEnvVars <- base::Sys.getenv() [10:56:23.529] } [10:56:23.529] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:56:23.529] future.globals.maxSize = NULL, future.globals.method = NULL, [10:56:23.529] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:56:23.529] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:56:23.529] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:56:23.529] future.stdout.windows.reencode = NULL, width = 80L) [10:56:23.529] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:56:23.529] base::names(...future.oldOptions)) [10:56:23.529] } [10:56:23.529] if (FALSE) { [10:56:23.529] } [10:56:23.529] else { [10:56:23.529] if (TRUE) { [10:56:23.529] ...future.stdout <- base::rawConnection(base::raw(0L), [10:56:23.529] open = "w") [10:56:23.529] } [10:56:23.529] else { [10:56:23.529] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:56:23.529] windows = "NUL", "/dev/null"), open = "w") [10:56:23.529] } [10:56:23.529] base::sink(...future.stdout, type = "output", split = FALSE) [10:56:23.529] base::on.exit(if (!base::is.null(...future.stdout)) { [10:56:23.529] base::sink(type = "output", split = FALSE) [10:56:23.529] base::close(...future.stdout) [10:56:23.529] }, add = TRUE) [10:56:23.529] } [10:56:23.529] ...future.frame <- base::sys.nframe() [10:56:23.529] ...future.conditions <- base::list() [10:56:23.529] ...future.rng <- base::globalenv()$.Random.seed [10:56:23.529] if (FALSE) { [10:56:23.529] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:56:23.529] "...future.value", "...future.globalenv.names", ".Random.seed") [10:56:23.529] } [10:56:23.529] ...future.result <- base::tryCatch({ [10:56:23.529] base::withCallingHandlers({ [10:56:23.529] ...future.value <- base::withVisible(base::local({ [10:56:23.529] Sys.getpid() [10:56:23.529] })) [10:56:23.529] future::FutureResult(value = ...future.value$value, [10:56:23.529] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:56:23.529] ...future.rng), globalenv = if (FALSE) [10:56:23.529] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:56:23.529] ...future.globalenv.names)) [10:56:23.529] else NULL, started = ...future.startTime, version = "1.8") [10:56:23.529] }, condition = base::local({ [10:56:23.529] c <- base::c [10:56:23.529] inherits <- base::inherits [10:56:23.529] invokeRestart <- base::invokeRestart [10:56:23.529] length <- base::length [10:56:23.529] list <- base::list [10:56:23.529] seq.int <- base::seq.int [10:56:23.529] signalCondition <- base::signalCondition [10:56:23.529] sys.calls <- base::sys.calls [10:56:23.529] `[[` <- base::`[[` [10:56:23.529] `+` <- base::`+` [10:56:23.529] `<<-` <- base::`<<-` [10:56:23.529] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:56:23.529] calls[seq.int(from = from + 12L, to = length(calls) - [10:56:23.529] 3L)] [10:56:23.529] } [10:56:23.529] function(cond) { [10:56:23.529] is_error <- inherits(cond, "error") [10:56:23.529] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:56:23.529] NULL) [10:56:23.529] if (is_error) { [10:56:23.529] sessionInformation <- function() { [10:56:23.529] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:56:23.529] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:56:23.529] search = base::search(), system = base::Sys.info()) [10:56:23.529] } [10:56:23.529] ...future.conditions[[length(...future.conditions) + [10:56:23.529] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:56:23.529] cond$call), session = sessionInformation(), [10:56:23.529] timestamp = base::Sys.time(), signaled = 0L) [10:56:23.529] signalCondition(cond) [10:56:23.529] } [10:56:23.529] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:56:23.529] signal <- FALSE && inherits(cond, character(0)) [10:56:23.529] ...future.conditions[[length(...future.conditions) + [10:56:23.529] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:56:23.529] if (FALSE && !signal) { [10:56:23.529] muffleCondition <- function (cond, pattern = "^muffle") [10:56:23.529] { [10:56:23.529] inherits <- base::inherits [10:56:23.529] invokeRestart <- base::invokeRestart [10:56:23.529] is.null <- base::is.null [10:56:23.529] muffled <- FALSE [10:56:23.529] if (inherits(cond, "message")) { [10:56:23.529] muffled <- grepl(pattern, "muffleMessage") [10:56:23.529] if (muffled) [10:56:23.529] invokeRestart("muffleMessage") [10:56:23.529] } [10:56:23.529] else if (inherits(cond, "warning")) { [10:56:23.529] muffled <- grepl(pattern, "muffleWarning") [10:56:23.529] if (muffled) [10:56:23.529] invokeRestart("muffleWarning") [10:56:23.529] } [10:56:23.529] else if (inherits(cond, "condition")) { [10:56:23.529] if (!is.null(pattern)) { [10:56:23.529] computeRestarts <- base::computeRestarts [10:56:23.529] grepl <- base::grepl [10:56:23.529] restarts <- computeRestarts(cond) [10:56:23.529] for (restart in restarts) { [10:56:23.529] name <- restart$name [10:56:23.529] if (is.null(name)) [10:56:23.529] next [10:56:23.529] if (!grepl(pattern, name)) [10:56:23.529] next [10:56:23.529] invokeRestart(restart) [10:56:23.529] muffled <- TRUE [10:56:23.529] break [10:56:23.529] } [10:56:23.529] } [10:56:23.529] } [10:56:23.529] invisible(muffled) [10:56:23.529] } [10:56:23.529] muffleCondition(cond, pattern = "^muffle") [10:56:23.529] } [10:56:23.529] } [10:56:23.529] else { [10:56:23.529] if (TRUE) { [10:56:23.529] muffleCondition <- function (cond, pattern = "^muffle") [10:56:23.529] { [10:56:23.529] inherits <- base::inherits [10:56:23.529] invokeRestart <- base::invokeRestart [10:56:23.529] is.null <- base::is.null [10:56:23.529] muffled <- FALSE [10:56:23.529] if (inherits(cond, "message")) { [10:56:23.529] muffled <- grepl(pattern, "muffleMessage") [10:56:23.529] if (muffled) [10:56:23.529] invokeRestart("muffleMessage") [10:56:23.529] } [10:56:23.529] else if (inherits(cond, "warning")) { [10:56:23.529] muffled <- grepl(pattern, "muffleWarning") [10:56:23.529] if (muffled) [10:56:23.529] invokeRestart("muffleWarning") [10:56:23.529] } [10:56:23.529] else if (inherits(cond, "condition")) { [10:56:23.529] if (!is.null(pattern)) { [10:56:23.529] computeRestarts <- base::computeRestarts [10:56:23.529] grepl <- base::grepl [10:56:23.529] restarts <- computeRestarts(cond) [10:56:23.529] for (restart in restarts) { [10:56:23.529] name <- restart$name [10:56:23.529] if (is.null(name)) [10:56:23.529] next [10:56:23.529] if (!grepl(pattern, name)) [10:56:23.529] next [10:56:23.529] invokeRestart(restart) [10:56:23.529] muffled <- TRUE [10:56:23.529] break [10:56:23.529] } [10:56:23.529] } [10:56:23.529] } [10:56:23.529] invisible(muffled) [10:56:23.529] } [10:56:23.529] muffleCondition(cond, pattern = "^muffle") [10:56:23.529] } [10:56:23.529] } [10:56:23.529] } [10:56:23.529] })) [10:56:23.529] }, error = function(ex) { [10:56:23.529] base::structure(base::list(value = NULL, visible = NULL, [10:56:23.529] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:56:23.529] ...future.rng), started = ...future.startTime, [10:56:23.529] finished = Sys.time(), session_uuid = NA_character_, [10:56:23.529] version = "1.8"), class = "FutureResult") [10:56:23.529] }, finally = { [10:56:23.529] if (!identical(...future.workdir, getwd())) [10:56:23.529] setwd(...future.workdir) [10:56:23.529] { [10:56:23.529] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:56:23.529] ...future.oldOptions$nwarnings <- NULL [10:56:23.529] } [10:56:23.529] base::options(...future.oldOptions) [10:56:23.529] if (.Platform$OS.type == "windows") { [10:56:23.529] old_names <- names(...future.oldEnvVars) [10:56:23.529] envs <- base::Sys.getenv() [10:56:23.529] names <- names(envs) [10:56:23.529] common <- intersect(names, old_names) [10:56:23.529] added <- setdiff(names, old_names) [10:56:23.529] removed <- setdiff(old_names, names) [10:56:23.529] changed <- common[...future.oldEnvVars[common] != [10:56:23.529] envs[common]] [10:56:23.529] NAMES <- toupper(changed) [10:56:23.529] args <- list() [10:56:23.529] for (kk in seq_along(NAMES)) { [10:56:23.529] name <- changed[[kk]] [10:56:23.529] NAME <- NAMES[[kk]] [10:56:23.529] if (name != NAME && is.element(NAME, old_names)) [10:56:23.529] next [10:56:23.529] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:23.529] } [10:56:23.529] NAMES <- toupper(added) [10:56:23.529] for (kk in seq_along(NAMES)) { [10:56:23.529] name <- added[[kk]] [10:56:23.529] NAME <- NAMES[[kk]] [10:56:23.529] if (name != NAME && is.element(NAME, old_names)) [10:56:23.529] next [10:56:23.529] args[[name]] <- "" [10:56:23.529] } [10:56:23.529] NAMES <- toupper(removed) [10:56:23.529] for (kk in seq_along(NAMES)) { [10:56:23.529] name <- removed[[kk]] [10:56:23.529] NAME <- NAMES[[kk]] [10:56:23.529] if (name != NAME && is.element(NAME, old_names)) [10:56:23.529] next [10:56:23.529] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:23.529] } [10:56:23.529] if (length(args) > 0) [10:56:23.529] base::do.call(base::Sys.setenv, args = args) [10:56:23.529] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:56:23.529] } [10:56:23.529] else { [10:56:23.529] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:56:23.529] } [10:56:23.529] { [10:56:23.529] if (base::length(...future.futureOptionsAdded) > [10:56:23.529] 0L) { [10:56:23.529] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:56:23.529] base::names(opts) <- ...future.futureOptionsAdded [10:56:23.529] base::options(opts) [10:56:23.529] } [10:56:23.529] { [10:56:23.529] NULL [10:56:23.529] options(future.plan = NULL) [10:56:23.529] if (is.na(NA_character_)) [10:56:23.529] Sys.unsetenv("R_FUTURE_PLAN") [10:56:23.529] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:56:23.529] future::plan(...future.strategy.old, .cleanup = FALSE, [10:56:23.529] .init = FALSE) [10:56:23.529] } [10:56:23.529] } [10:56:23.529] } [10:56:23.529] }) [10:56:23.529] if (TRUE) { [10:56:23.529] base::sink(type = "output", split = FALSE) [10:56:23.529] if (TRUE) { [10:56:23.529] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:56:23.529] } [10:56:23.529] else { [10:56:23.529] ...future.result["stdout"] <- base::list(NULL) [10:56:23.529] } [10:56:23.529] base::close(...future.stdout) [10:56:23.529] ...future.stdout <- NULL [10:56:23.529] } [10:56:23.529] ...future.result$conditions <- ...future.conditions [10:56:23.529] ...future.result$finished <- base::Sys.time() [10:56:23.529] ...future.result [10:56:23.529] } [10:56:23.534] - Launch lazy future ... done [10:56:23.534] run() for 'MiraiFuture' ... done > print(pid) [1] 155340 > stopifnot(pid != mpid) > > > message("*** plan() ... DONE") *** plan() ... DONE > > source("incl/end.R") > > proc.time() user system elapsed 0.43 0.06 1.04