R Under development (unstable) (2024-07-28 r86931 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.R") [17:28:03.402] plan(): Setting new future strategy stack: [17:28:03.404] List of future strategies: [17:28:03.404] 1. sequential: [17:28:03.404] - args: function (..., envir = parent.frame(), workers = "") [17:28:03.404] - tweaked: FALSE [17:28:03.404] - call: future::plan("sequential") [17:28:03.434] plan(): nbrOfWorkers() = 1 > library("listenv") > > message("*** Globals - too large ...") *** Globals - too large ... > > a <- integer(length = 1000) > ooptsT <- options(future.globals.maxSize = object.size(a) - 100L) > limit <- getOption("future.globals.maxSize") > cat(sprintf("Max total size of globals: %g bytes\n", limit)) Max total size of globals: 3948 bytes > > plan(multisession) [17:28:03.452] plan(): Setting new future strategy stack: [17:28:03.452] List of future strategies: [17:28:03.452] 1. multisession: [17:28:03.452] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:28:03.452] - tweaked: FALSE [17:28:03.452] - call: plan(multisession) [17:28:03.480] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [17:28:03.480] multisession: [17:28:03.480] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:28:03.480] - tweaked: FALSE [17:28:03.480] - call: plan(multisession) [17:28:03.488] getGlobalsAndPackages() ... [17:28:03.489] Not searching for globals [17:28:03.489] - globals: [0] [17:28:03.490] getGlobalsAndPackages() ... DONE [17:28:03.490] [local output] makeClusterPSOCK() ... [17:28:03.538] [local output] Workers: [n = 2] 'localhost', 'localhost' [17:28:03.544] [local output] Base port: 39223 [17:28:03.544] [local output] Getting setup options for 2 cluster nodes ... [17:28:03.544] [local output] - Node #1 of 2 ... [17:28:03.545] [local output] localMachine=TRUE => revtunnel=FALSE [17:28:03.546] Testing if worker's PID can be inferred: '"D:/RCompile/recent/R/bin/x64/Rscript" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpoHjtr1/worker.rank=1.parallelly.parent=193224.2f2c863f02181.pid\")), silent = TRUE)" -e "file.exists(\"D:/temp/RtmpoHjtr1/worker.rank=1.parallelly.parent=193224.2f2c863f02181.pid\")"' [17:28:04.096] - Possible to infer worker's PID: TRUE [17:28:04.097] [local output] Rscript port: 39223 [17:28:04.098] [local output] - Node #2 of 2 ... [17:28:04.099] [local output] localMachine=TRUE => revtunnel=FALSE [17:28:04.101] [local output] Rscript port: 39223 [17:28:04.102] [local output] Getting setup options for 2 cluster nodes ... done [17:28:04.102] [local output] - Parallel setup requested for some PSOCK nodes [17:28:04.104] [local output] Setting up PSOCK nodes in parallel [17:28:04.104] List of 36 [17:28:04.104] $ worker : chr "localhost" [17:28:04.104] ..- attr(*, "localhost")= logi TRUE [17:28:04.104] $ master : chr "localhost" [17:28:04.104] $ port : int 39223 [17:28:04.104] $ connectTimeout : num 120 [17:28:04.104] $ timeout : num 120 [17:28:04.104] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [17:28:04.104] $ homogeneous : logi TRUE [17:28:04.104] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=globals,toolarge.R:193224:CRANWI"| __truncated__ [17:28:04.104] $ rscript_envs : NULL [17:28:04.104] $ rscript_libs : chr [1:2] "D:/temp/RtmpsXpk4j/RLIBS_1097c668d2fda" "D:/RCompile/recent/R/library" [17:28:04.104] $ rscript_startup : NULL [17:28:04.104] $ rscript_sh : chr [1:2] "cmd" "cmd" [17:28:04.104] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:28:04.104] $ methods : logi TRUE [17:28:04.104] $ socketOptions : chr "no-delay" [17:28:04.104] $ useXDR : logi FALSE [17:28:04.104] $ outfile : chr "/dev/null" [17:28:04.104] $ renice : int NA [17:28:04.104] $ rshcmd : NULL [17:28:04.104] $ user : chr(0) [17:28:04.104] $ revtunnel : logi FALSE [17:28:04.104] $ rshlogfile : NULL [17:28:04.104] $ rshopts : chr(0) [17:28:04.104] $ rank : int 1 [17:28:04.104] $ manual : logi FALSE [17:28:04.104] $ dryrun : logi FALSE [17:28:04.104] $ quiet : logi FALSE [17:28:04.104] $ setup_strategy : chr "parallel" [17:28:04.104] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:28:04.104] $ pidfile : chr "D:/temp/RtmpoHjtr1/worker.rank=1.parallelly.parent=193224.2f2c863f02181.pid" [17:28:04.104] $ rshcmd_label : NULL [17:28:04.104] $ rsh_call : NULL [17:28:04.104] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:28:04.104] $ localMachine : logi TRUE [17:28:04.104] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [17:28:04.104] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [17:28:04.104] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [17:28:04.104] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [17:28:04.104] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [17:28:04.104] "cmd", "sh", "none"), default_packages = c("datasets", "utils", [17:28:04.104] "grDevices", "graphics", "stats", if (methods) "methods"), methods = TRUE, [17:28:04.104] socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [17:28:04.104] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [17:28:04.104] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [17:28:04.104] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [17:28:04.104] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [17:28:04.104] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [17:28:04.104] "parallel"), action = c("launch", "options"), verbose = FALSE) [17:28:04.104] $ arguments :List of 28 [17:28:04.104] ..$ worker : chr "localhost" [17:28:04.104] ..$ master : NULL [17:28:04.104] ..$ port : int 39223 [17:28:04.104] ..$ connectTimeout : num 120 [17:28:04.104] ..$ timeout : num 120 [17:28:04.104] ..$ rscript : NULL [17:28:04.104] ..$ homogeneous : NULL [17:28:04.104] ..$ rscript_args : NULL [17:28:04.104] ..$ rscript_envs : NULL [17:28:04.104] ..$ rscript_libs : chr [1:2] "D:/temp/RtmpsXpk4j/RLIBS_1097c668d2fda" "D:/RCompile/recent/R/library" [17:28:04.104] ..$ rscript_startup : NULL [17:28:04.104] ..$ rscript_sh : chr "auto" [17:28:04.104] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:28:04.104] ..$ methods : logi TRUE [17:28:04.104] ..$ socketOptions : chr "no-delay" [17:28:04.104] ..$ useXDR : logi FALSE [17:28:04.104] ..$ outfile : chr "/dev/null" [17:28:04.104] ..$ renice : int NA [17:28:04.104] ..$ rshcmd : NULL [17:28:04.104] ..$ user : NULL [17:28:04.104] ..$ revtunnel : logi NA [17:28:04.104] ..$ rshlogfile : NULL [17:28:04.104] ..$ rshopts : NULL [17:28:04.104] ..$ rank : int 1 [17:28:04.104] ..$ manual : logi FALSE [17:28:04.104] ..$ dryrun : logi FALSE [17:28:04.104] ..$ quiet : logi FALSE [17:28:04.104] ..$ setup_strategy : chr "parallel" [17:28:04.104] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [17:28:04.141] [local output] System call to launch all workers: [17:28:04.141] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=globals,toolarge.R:193224:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpoHjtr1/worker.rank=1.parallelly.parent=193224.2f2c863f02181.pid\")), silent = TRUE)" -e "options(socketOptions = \"no-delay\")" -e ".libPaths(c(\"D:/temp/RtmpsXpk4j/RLIBS_1097c668d2fda\",\"D:/RCompile/recent/R/library\"))" -e "workRSOCK <- tryCatch(parallel:::.workRSOCK, error=function(e) parallel:::.slaveRSOCK); workRSOCK()" MASTER=localhost PORT=39223 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [17:28:04.141] [local output] Starting PSOCK main server [17:28:04.151] [local output] Workers launched [17:28:04.151] [local output] Waiting for workers to connect back [17:28:04.152] - [local output] 0 workers out of 2 ready [17:28:04.381] - [local output] 0 workers out of 2 ready [17:28:04.382] - [local output] 1 workers out of 2 ready [17:28:04.393] - [local output] 1 workers out of 2 ready [17:28:04.394] - [local output] 2 workers out of 2 ready [17:28:04.394] [local output] Launching of 2 workers completed [17:28:04.394] [local output] Number of nodes in cluster: 2 [17:28:04.395] [local output] Collecting session information from 2 workers [17:28:04.397] [local output] - Worker #1 of 2 [17:28:04.398] [local output] - Worker #2 of 2 [17:28:04.398] [local output] makeClusterPSOCK() ... done [17:28:04.414] Packages needed by the future expression (n = 0): [17:28:04.414] Packages needed by future strategies (n = 0): [17:28:04.415] { [17:28:04.415] { [17:28:04.415] { [17:28:04.415] ...future.startTime <- base::Sys.time() [17:28:04.415] { [17:28:04.415] { [17:28:04.415] { [17:28:04.415] { [17:28:04.415] base::local({ [17:28:04.415] has_future <- base::requireNamespace("future", [17:28:04.415] quietly = TRUE) [17:28:04.415] if (has_future) { [17:28:04.415] ns <- base::getNamespace("future") [17:28:04.415] version <- ns[[".package"]][["version"]] [17:28:04.415] if (is.null(version)) [17:28:04.415] version <- utils::packageVersion("future") [17:28:04.415] } [17:28:04.415] else { [17:28:04.415] version <- NULL [17:28:04.415] } [17:28:04.415] if (!has_future || version < "1.8.0") { [17:28:04.415] info <- base::c(r_version = base::gsub("R version ", [17:28:04.415] "", base::R.version$version.string), [17:28:04.415] platform = base::sprintf("%s (%s-bit)", [17:28:04.415] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:04.415] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:04.415] "release", "version")], collapse = " "), [17:28:04.415] hostname = base::Sys.info()[["nodename"]]) [17:28:04.415] info <- base::sprintf("%s: %s", base::names(info), [17:28:04.415] info) [17:28:04.415] info <- base::paste(info, collapse = "; ") [17:28:04.415] if (!has_future) { [17:28:04.415] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:04.415] info) [17:28:04.415] } [17:28:04.415] else { [17:28:04.415] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:04.415] info, version) [17:28:04.415] } [17:28:04.415] base::stop(msg) [17:28:04.415] } [17:28:04.415] }) [17:28:04.415] } [17:28:04.415] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:04.415] base::options(mc.cores = 1L) [17:28:04.415] } [17:28:04.415] ...future.strategy.old <- future::plan("list") [17:28:04.415] options(future.plan = NULL) [17:28:04.415] Sys.unsetenv("R_FUTURE_PLAN") [17:28:04.415] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:04.415] } [17:28:04.415] ...future.workdir <- getwd() [17:28:04.415] } [17:28:04.415] ...future.oldOptions <- base::as.list(base::.Options) [17:28:04.415] ...future.oldEnvVars <- base::Sys.getenv() [17:28:04.415] } [17:28:04.415] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:28:04.415] future.globals.maxSize = 3948, future.globals.method = NULL, [17:28:04.415] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:28:04.415] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:28:04.415] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:04.415] future.stdout.windows.reencode = NULL, width = 80L) [17:28:04.415] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:04.415] base::names(...future.oldOptions)) [17:28:04.415] } [17:28:04.415] if (FALSE) { [17:28:04.415] } [17:28:04.415] else { [17:28:04.415] if (TRUE) { [17:28:04.415] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:04.415] open = "w") [17:28:04.415] } [17:28:04.415] else { [17:28:04.415] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:04.415] windows = "NUL", "/dev/null"), open = "w") [17:28:04.415] } [17:28:04.415] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:04.415] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:04.415] base::sink(type = "output", split = FALSE) [17:28:04.415] base::close(...future.stdout) [17:28:04.415] }, add = TRUE) [17:28:04.415] } [17:28:04.415] ...future.frame <- base::sys.nframe() [17:28:04.415] ...future.conditions <- base::list() [17:28:04.415] ...future.rng <- base::globalenv()$.Random.seed [17:28:04.415] if (FALSE) { [17:28:04.415] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:04.415] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:04.415] } [17:28:04.415] ...future.result <- base::tryCatch({ [17:28:04.415] base::withCallingHandlers({ [17:28:04.415] ...future.value <- base::withVisible(base::local({ [17:28:04.415] ...future.makeSendCondition <- base::local({ [17:28:04.415] sendCondition <- NULL [17:28:04.415] function(frame = 1L) { [17:28:04.415] if (is.function(sendCondition)) [17:28:04.415] return(sendCondition) [17:28:04.415] ns <- getNamespace("parallel") [17:28:04.415] if (exists("sendData", mode = "function", [17:28:04.415] envir = ns)) { [17:28:04.415] parallel_sendData <- get("sendData", mode = "function", [17:28:04.415] envir = ns) [17:28:04.415] envir <- sys.frame(frame) [17:28:04.415] master <- NULL [17:28:04.415] while (!identical(envir, .GlobalEnv) && [17:28:04.415] !identical(envir, emptyenv())) { [17:28:04.415] if (exists("master", mode = "list", envir = envir, [17:28:04.415] inherits = FALSE)) { [17:28:04.415] master <- get("master", mode = "list", [17:28:04.415] envir = envir, inherits = FALSE) [17:28:04.415] if (inherits(master, c("SOCKnode", [17:28:04.415] "SOCK0node"))) { [17:28:04.415] sendCondition <<- function(cond) { [17:28:04.415] data <- list(type = "VALUE", value = cond, [17:28:04.415] success = TRUE) [17:28:04.415] parallel_sendData(master, data) [17:28:04.415] } [17:28:04.415] return(sendCondition) [17:28:04.415] } [17:28:04.415] } [17:28:04.415] frame <- frame + 1L [17:28:04.415] envir <- sys.frame(frame) [17:28:04.415] } [17:28:04.415] } [17:28:04.415] sendCondition <<- function(cond) NULL [17:28:04.415] } [17:28:04.415] }) [17:28:04.415] withCallingHandlers({ [17:28:04.415] NA [17:28:04.415] }, immediateCondition = function(cond) { [17:28:04.415] sendCondition <- ...future.makeSendCondition() [17:28:04.415] sendCondition(cond) [17:28:04.415] muffleCondition <- function (cond, pattern = "^muffle") [17:28:04.415] { [17:28:04.415] inherits <- base::inherits [17:28:04.415] invokeRestart <- base::invokeRestart [17:28:04.415] is.null <- base::is.null [17:28:04.415] muffled <- FALSE [17:28:04.415] if (inherits(cond, "message")) { [17:28:04.415] muffled <- grepl(pattern, "muffleMessage") [17:28:04.415] if (muffled) [17:28:04.415] invokeRestart("muffleMessage") [17:28:04.415] } [17:28:04.415] else if (inherits(cond, "warning")) { [17:28:04.415] muffled <- grepl(pattern, "muffleWarning") [17:28:04.415] if (muffled) [17:28:04.415] invokeRestart("muffleWarning") [17:28:04.415] } [17:28:04.415] else if (inherits(cond, "condition")) { [17:28:04.415] if (!is.null(pattern)) { [17:28:04.415] computeRestarts <- base::computeRestarts [17:28:04.415] grepl <- base::grepl [17:28:04.415] restarts <- computeRestarts(cond) [17:28:04.415] for (restart in restarts) { [17:28:04.415] name <- restart$name [17:28:04.415] if (is.null(name)) [17:28:04.415] next [17:28:04.415] if (!grepl(pattern, name)) [17:28:04.415] next [17:28:04.415] invokeRestart(restart) [17:28:04.415] muffled <- TRUE [17:28:04.415] break [17:28:04.415] } [17:28:04.415] } [17:28:04.415] } [17:28:04.415] invisible(muffled) [17:28:04.415] } [17:28:04.415] muffleCondition(cond) [17:28:04.415] }) [17:28:04.415] })) [17:28:04.415] future::FutureResult(value = ...future.value$value, [17:28:04.415] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:04.415] ...future.rng), globalenv = if (FALSE) [17:28:04.415] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:04.415] ...future.globalenv.names)) [17:28:04.415] else NULL, started = ...future.startTime, version = "1.8") [17:28:04.415] }, condition = base::local({ [17:28:04.415] c <- base::c [17:28:04.415] inherits <- base::inherits [17:28:04.415] invokeRestart <- base::invokeRestart [17:28:04.415] length <- base::length [17:28:04.415] list <- base::list [17:28:04.415] seq.int <- base::seq.int [17:28:04.415] signalCondition <- base::signalCondition [17:28:04.415] sys.calls <- base::sys.calls [17:28:04.415] `[[` <- base::`[[` [17:28:04.415] `+` <- base::`+` [17:28:04.415] `<<-` <- base::`<<-` [17:28:04.415] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:04.415] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:04.415] 3L)] [17:28:04.415] } [17:28:04.415] function(cond) { [17:28:04.415] is_error <- inherits(cond, "error") [17:28:04.415] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:04.415] NULL) [17:28:04.415] if (is_error) { [17:28:04.415] sessionInformation <- function() { [17:28:04.415] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:04.415] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:04.415] search = base::search(), system = base::Sys.info()) [17:28:04.415] } [17:28:04.415] ...future.conditions[[length(...future.conditions) + [17:28:04.415] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:04.415] cond$call), session = sessionInformation(), [17:28:04.415] timestamp = base::Sys.time(), signaled = 0L) [17:28:04.415] signalCondition(cond) [17:28:04.415] } [17:28:04.415] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:04.415] "immediateCondition"))) { [17:28:04.415] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:04.415] ...future.conditions[[length(...future.conditions) + [17:28:04.415] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:04.415] if (TRUE && !signal) { [17:28:04.415] muffleCondition <- function (cond, pattern = "^muffle") [17:28:04.415] { [17:28:04.415] inherits <- base::inherits [17:28:04.415] invokeRestart <- base::invokeRestart [17:28:04.415] is.null <- base::is.null [17:28:04.415] muffled <- FALSE [17:28:04.415] if (inherits(cond, "message")) { [17:28:04.415] muffled <- grepl(pattern, "muffleMessage") [17:28:04.415] if (muffled) [17:28:04.415] invokeRestart("muffleMessage") [17:28:04.415] } [17:28:04.415] else if (inherits(cond, "warning")) { [17:28:04.415] muffled <- grepl(pattern, "muffleWarning") [17:28:04.415] if (muffled) [17:28:04.415] invokeRestart("muffleWarning") [17:28:04.415] } [17:28:04.415] else if (inherits(cond, "condition")) { [17:28:04.415] if (!is.null(pattern)) { [17:28:04.415] computeRestarts <- base::computeRestarts [17:28:04.415] grepl <- base::grepl [17:28:04.415] restarts <- computeRestarts(cond) [17:28:04.415] for (restart in restarts) { [17:28:04.415] name <- restart$name [17:28:04.415] if (is.null(name)) [17:28:04.415] next [17:28:04.415] if (!grepl(pattern, name)) [17:28:04.415] next [17:28:04.415] invokeRestart(restart) [17:28:04.415] muffled <- TRUE [17:28:04.415] break [17:28:04.415] } [17:28:04.415] } [17:28:04.415] } [17:28:04.415] invisible(muffled) [17:28:04.415] } [17:28:04.415] muffleCondition(cond, pattern = "^muffle") [17:28:04.415] } [17:28:04.415] } [17:28:04.415] else { [17:28:04.415] if (TRUE) { [17:28:04.415] muffleCondition <- function (cond, pattern = "^muffle") [17:28:04.415] { [17:28:04.415] inherits <- base::inherits [17:28:04.415] invokeRestart <- base::invokeRestart [17:28:04.415] is.null <- base::is.null [17:28:04.415] muffled <- FALSE [17:28:04.415] if (inherits(cond, "message")) { [17:28:04.415] muffled <- grepl(pattern, "muffleMessage") [17:28:04.415] if (muffled) [17:28:04.415] invokeRestart("muffleMessage") [17:28:04.415] } [17:28:04.415] else if (inherits(cond, "warning")) { [17:28:04.415] muffled <- grepl(pattern, "muffleWarning") [17:28:04.415] if (muffled) [17:28:04.415] invokeRestart("muffleWarning") [17:28:04.415] } [17:28:04.415] else if (inherits(cond, "condition")) { [17:28:04.415] if (!is.null(pattern)) { [17:28:04.415] computeRestarts <- base::computeRestarts [17:28:04.415] grepl <- base::grepl [17:28:04.415] restarts <- computeRestarts(cond) [17:28:04.415] for (restart in restarts) { [17:28:04.415] name <- restart$name [17:28:04.415] if (is.null(name)) [17:28:04.415] next [17:28:04.415] if (!grepl(pattern, name)) [17:28:04.415] next [17:28:04.415] invokeRestart(restart) [17:28:04.415] muffled <- TRUE [17:28:04.415] break [17:28:04.415] } [17:28:04.415] } [17:28:04.415] } [17:28:04.415] invisible(muffled) [17:28:04.415] } [17:28:04.415] muffleCondition(cond, pattern = "^muffle") [17:28:04.415] } [17:28:04.415] } [17:28:04.415] } [17:28:04.415] })) [17:28:04.415] }, error = function(ex) { [17:28:04.415] base::structure(base::list(value = NULL, visible = NULL, [17:28:04.415] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:04.415] ...future.rng), started = ...future.startTime, [17:28:04.415] finished = Sys.time(), session_uuid = NA_character_, [17:28:04.415] version = "1.8"), class = "FutureResult") [17:28:04.415] }, finally = { [17:28:04.415] if (!identical(...future.workdir, getwd())) [17:28:04.415] setwd(...future.workdir) [17:28:04.415] { [17:28:04.415] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:04.415] ...future.oldOptions$nwarnings <- NULL [17:28:04.415] } [17:28:04.415] base::options(...future.oldOptions) [17:28:04.415] if (.Platform$OS.type == "windows") { [17:28:04.415] old_names <- names(...future.oldEnvVars) [17:28:04.415] envs <- base::Sys.getenv() [17:28:04.415] names <- names(envs) [17:28:04.415] common <- intersect(names, old_names) [17:28:04.415] added <- setdiff(names, old_names) [17:28:04.415] removed <- setdiff(old_names, names) [17:28:04.415] changed <- common[...future.oldEnvVars[common] != [17:28:04.415] envs[common]] [17:28:04.415] NAMES <- toupper(changed) [17:28:04.415] args <- list() [17:28:04.415] for (kk in seq_along(NAMES)) { [17:28:04.415] name <- changed[[kk]] [17:28:04.415] NAME <- NAMES[[kk]] [17:28:04.415] if (name != NAME && is.element(NAME, old_names)) [17:28:04.415] next [17:28:04.415] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:04.415] } [17:28:04.415] NAMES <- toupper(added) [17:28:04.415] for (kk in seq_along(NAMES)) { [17:28:04.415] name <- added[[kk]] [17:28:04.415] NAME <- NAMES[[kk]] [17:28:04.415] if (name != NAME && is.element(NAME, old_names)) [17:28:04.415] next [17:28:04.415] args[[name]] <- "" [17:28:04.415] } [17:28:04.415] NAMES <- toupper(removed) [17:28:04.415] for (kk in seq_along(NAMES)) { [17:28:04.415] name <- removed[[kk]] [17:28:04.415] NAME <- NAMES[[kk]] [17:28:04.415] if (name != NAME && is.element(NAME, old_names)) [17:28:04.415] next [17:28:04.415] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:04.415] } [17:28:04.415] if (length(args) > 0) [17:28:04.415] base::do.call(base::Sys.setenv, args = args) [17:28:04.415] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:04.415] } [17:28:04.415] else { [17:28:04.415] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:04.415] } [17:28:04.415] { [17:28:04.415] if (base::length(...future.futureOptionsAdded) > [17:28:04.415] 0L) { [17:28:04.415] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:04.415] base::names(opts) <- ...future.futureOptionsAdded [17:28:04.415] base::options(opts) [17:28:04.415] } [17:28:04.415] { [17:28:04.415] { [17:28:04.415] base::options(mc.cores = ...future.mc.cores.old) [17:28:04.415] NULL [17:28:04.415] } [17:28:04.415] options(future.plan = NULL) [17:28:04.415] if (is.na(NA_character_)) [17:28:04.415] Sys.unsetenv("R_FUTURE_PLAN") [17:28:04.415] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:04.415] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:04.415] .init = FALSE) [17:28:04.415] } [17:28:04.415] } [17:28:04.415] } [17:28:04.415] }) [17:28:04.415] if (TRUE) { [17:28:04.415] base::sink(type = "output", split = FALSE) [17:28:04.415] if (TRUE) { [17:28:04.415] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:04.415] } [17:28:04.415] else { [17:28:04.415] ...future.result["stdout"] <- base::list(NULL) [17:28:04.415] } [17:28:04.415] base::close(...future.stdout) [17:28:04.415] ...future.stdout <- NULL [17:28:04.415] } [17:28:04.415] ...future.result$conditions <- ...future.conditions [17:28:04.415] ...future.result$finished <- base::Sys.time() [17:28:04.415] ...future.result [17:28:04.415] } [17:28:04.580] MultisessionFuture started [17:28:04.581] result() for ClusterFuture ... [17:28:04.582] receiveMessageFromWorker() for ClusterFuture ... [17:28:04.582] - Validating connection of MultisessionFuture [17:28:04.694] - received message: FutureResult [17:28:04.694] - Received FutureResult [17:28:04.701] - Erased future from FutureRegistry [17:28:04.701] result() for ClusterFuture ... [17:28:04.702] - result already collected: FutureResult [17:28:04.702] result() for ClusterFuture ... done [17:28:04.702] receiveMessageFromWorker() for ClusterFuture ... done [17:28:04.703] result() for ClusterFuture ... done [17:28:04.703] result() for ClusterFuture ... [17:28:04.703] - result already collected: FutureResult [17:28:04.704] result() for ClusterFuture ... done [17:28:04.704] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [17:28:04.709] plan(): nbrOfWorkers() = 2 > > exprs <- list( + A = substitute({ a }, env = list()), + B = substitute({ a * b }, env = list()), + C = substitute({ a * b * c }, env = list()), + D = substitute({ a * b * c * d }, env = list()), + E = substitute({ a * b * c * d * e }, env = list()) + ) > > a <- integer(length = 1000) > b <- integer(length = 900) > c <- integer(length = 800) > d <- integer(length = 700) > e <- integer(length = 1) > > for (name in names(exprs)) { + message(sprintf("Expression %s:", name)) + expr <- exprs[[name]] + print(expr) + res <- tryCatch({ + f <- future(expr, substitute = FALSE) + }, error = function(ex) ex) + print(res) + stopifnot(inherits(res, "error")) + msg <- conditionMessage(res) + stopifnot(grepl("exceeds the maximum allowed size", msg)) + } Expression A: { a } [17:28:04.728] getGlobalsAndPackages() ... [17:28:04.729] Searching for globals... [17:28:04.735] - globals found: [2] '{', 'a' [17:28:04.736] Searching for globals ... DONE [17:28:04.736] Resolving globals: FALSE [17:28:04.739] The total size of the 1 globals is 3.94 KiB (4031 bytes) [17:28:04.740] The total size of the 1 globals exported for future expression ('{; a; }') is 3.94 KiB.. This exceeds the maximum allowed size of 3.86 KiB (option 'future.globals.maxSize'). There is one global: 'a' (3.94 KiB of class 'numeric') Expression B: { a * b } [17:28:04.741] getGlobalsAndPackages() ... [17:28:04.741] Searching for globals... [17:28:04.749] - globals found: [4] '{', '*', 'a', 'b' [17:28:04.750] Searching for globals ... DONE [17:28:04.750] Resolving globals: FALSE [17:28:04.751] The total size of the 2 globals is 7.48 KiB (7662 bytes) [17:28:04.752] The total size of the 2 globals exported for future expression ('{; a * b; }') is 7.48 KiB.. This exceeds the maximum allowed size of 3.86 KiB (option 'future.globals.maxSize'). There are two globals: 'a' (3.94 KiB of class 'numeric') and 'b' (3.55 KiB of class 'numeric') Expression C: { a * b * c } [17:28:04.753] getGlobalsAndPackages() ... [17:28:04.753] Searching for globals... [17:28:04.755] - globals found: [5] '{', '*', 'a', 'b', 'c' [17:28:04.755] Searching for globals ... DONE [17:28:04.755] Resolving globals: FALSE [17:28:04.756] The total size of the 3 globals is 10.64 KiB (10893 bytes) [17:28:04.756] The total size of the 3 globals exported for future expression ('{; a * b * c; }') is 10.64 KiB.. This exceeds the maximum allowed size of 3.86 KiB (option 'future.globals.maxSize'). There are three globals: 'a' (3.94 KiB of class 'numeric'), 'b' (3.55 KiB of class 'numeric') and 'c' (3.16 KiB of class 'numeric') Expression D: { a * b * c * d } [17:28:04.757] getGlobalsAndPackages() ... [17:28:04.757] Searching for globals... [17:28:04.759] - globals found: [6] '{', '*', 'a', 'b', 'c', 'd' [17:28:04.760] Searching for globals ... DONE [17:28:04.760] Resolving globals: FALSE [17:28:04.761] The total size of the 4 globals is 13.40 KiB (13724 bytes) [17:28:04.765] The total size of the 4 globals exported for future expression ('{; a * b * c * d; }') is 13.40 KiB.. This exceeds the maximum allowed size of 3.86 KiB (option 'future.globals.maxSize'). The three largest globals are 'a' (3.94 KiB of class 'numeric'), 'b' (3.55 KiB of class 'numeric') and 'c' (3.16 KiB of class 'numeric') Expression E: { a * b * c * d * e } [17:28:04.765] getGlobalsAndPackages() ... [17:28:04.765] Searching for globals... [17:28:04.767] - globals found: [7] '{', '*', 'a', 'b', 'c', 'd', 'e' [17:28:04.768] Searching for globals ... DONE [17:28:04.768] Resolving globals: FALSE [17:28:04.769] The total size of the 5 globals is 13.44 KiB (13759 bytes) [17:28:04.770] The total size of the 5 globals exported for future expression ('{; a * b * c * d * e; }') is 13.44 KiB.. This exceeds the maximum allowed size of 3.86 KiB (option 'future.globals.maxSize'). The three largest globals are 'a' (3.94 KiB of class 'numeric'), 'b' (3.55 KiB of class 'numeric') and 'c' (3.16 KiB of class 'numeric') > > message("*** Globals - too large ... DONE") *** Globals - too large ... DONE > > source("incl/end.R") [17:28:04.772] plan(): Setting new future strategy stack: [17:28:04.772] List of future strategies: [17:28:04.772] 1. FutureStrategy: [17:28:04.772] - args: function (..., envir = parent.frame(), workers = "") [17:28:04.772] - tweaked: FALSE [17:28:04.772] - call: future::plan(oplan) [17:28:04.782] plan(): nbrOfWorkers() = 1 Failed to undo environment variables: - Expected environment variables: [n=205] '!ExitCode', 'ALLUSERSPROFILE', 'APPDATA', 'BIBINPUTS', 'BINDIR', 'BSTINPUTS', 'COMMONPROGRAMFILES', 'COMPUTERNAME', 'COMSPEC', 'CURL_CA_BUNDLE', 'CYGWIN', 'CommonProgramFiles(x86)', 'CommonProgramW6432', 'DriverData', 'HOME', 'HOMEDRIVE', 'HOMEPATH', 'JAGS_ROOT', 'JAVA_HOME', 'LANGUAGE', 'LC_COLLATE', 'LC_MONETARY', 'LC_TIME', 'LOCALAPPDATA', 'LOGONSERVER', 'LS_HOME', 'LS_LICENSE_PATH', 'MAKE', 'MAKEFLAGS', 'MAKELEVEL', 'MFLAGS', 'MSMPI_BENCHMARKS', 'MSMPI_BIN', 'MSYS2_ENV_CONV_EXCL', 'NUMBER_OF_PROCESSORS', 'OCL', 'OMP_THREAD_LIMIT', 'OS', 'PATH', 'PATHEXT', 'PROCESSOR_ARCHITECTURE', 'PROCESSOR_IDENTIFIER', 'PROCESSOR_LEVEL', 'PROCESSOR_REVISION', 'PROGRAMFILES', 'PROMPT', 'PSModulePath', 'PUBLIC', 'PWD', 'ProgramData', 'ProgramFiles(x86)', 'ProgramW6432', 'RTOOLS43_HOME', 'RTOOLS44_HOME', 'R_ARCH', 'R_BROWSER', 'R_BZIPCMD', 'R_CMD', 'R_COMPILED_BY', 'R_CRAN_WEB', 'R_CUSTOM_TOOLS_PATH', 'R_CUSTOM_TOOLS_SOFT', 'R_DOC_DIR', 'R_ENVIRON_USER', 'R_GSCMD', 'R_GZIPCMD', 'R_HOME', 'R_INCLUDE_DIR', 'R_INSTALL_TAR', 'R_LIBS', 'R_LIBS_SITE', 'R_LIBS_USER', 'R_MAX_NUM_DLLS', 'R_OSTYPE', 'R_PAPERSIZE', 'R_PAPERSIZE_USER', 'R_PARALLELLY_MAKENODEPSOCK_AUTOKILL', 'R_PARALLELLY_MAKENODEPSOCK_CONNECTTIMEOUT', 'R_PARALLELLY_MAKENODEPSOCK_RSCRIPT_LABEL', 'R_PARALLELLY_MAKENODEPSOCK_SESSIONINFO_PKGS', 'R_PARALLELLY_MAKENODEPSOCK_TIMEOUT', 'R_PARALLELLY_RANDOM_PORTS', 'R_PARALLEL_PORT', 'R_RD4PDF', 'R_RTOOLS44_PATH', 'R_SCRIPT_LEGACY', 'R_SHARE_DIR', 'R_TESTS', 'R_UNZIPCMD', 'R_USER', 'R_VERSION', 'R_ZIPCMD', 'SED', 'SHLVL', 'SYSTEMDRIVE', 'SYSTEMROOT', 'TAR', 'TAR_OPTIONS', 'TEMP', 'TERM', 'TEXINPUTS', 'TMP', 'TMPDIR', 'USERDOMAIN', 'USERDOMAIN_ROAMINGPROFILE', 'USERNAME', 'USERPROFILE', 'WINDIR', '_', '_R_CHECK_AUTOCONF_', '_R_CHECK_BOGUS_RETURN_', '_R_CHECK_BROWSER_NONINTERACTIVE_', '_R_CHECK_BUILD_VIGNETTES_SEPARATELY_', '_R_CHECK_CODETOOLS_PROFILE_', '_R_CHECK_CODE_ASSIGN_TO_GLOBALENV_', '_R_CHECK_CODE_ATTACH_', '_R_CHECK_CODE_CLASS_IS_STRING_', '_R_CHECK_CODE_DATA_INTO_GLOBALENV_', '_R_CHECK_CODE_USAGE_VIA_NAMESPACES_', '_R_CHECK_CODE_USAGE_WITHOUT_LOADING_', '_R_CHECK_CODE_USAGE_WITH_ONLY_BASE_ATTACHED_', '_R_CHECK_CODOC_VARIABLES_IN_USAGES_', '_R_CHECK_COMPACT_DATA2_', '_R_CHECK_COMPILATION_FLAGS_', '_R_CHECK_CONNECTIONS_LEFT_OPEN_', '_R_CHECK_CRAN_INCOMING_', '_R_CHECK_CRAN_INCOMING_CHECK_FILE_URIS_', '_R_CHECK_CRAN_INCOMING_CHECK_URLS_IN_PARALLEL_', '_R_CHECK_CRAN_INCOMING_NOTE_GNU_MAKE_', '_R_CHECK_CRAN_INCOMING_REMOTE_', '_R_CHECK_CRAN_INCOMING_USE_ASPELL_', '_R_CHECK_DATALIST_', '_R_CHECK_DEPRECATED_DEFUNCT_', '_R_CHECK_DOC_SIZES2_', '_R_CHECK_DOT_FIRSTLIB_', '_R_CHECK_DOT_INTERNAL_', '_R_CHECK_EXAMPLE_TIMING_THRESHOLD_', '_R_CHECK_EXECUTABLES_', '_R_CHECK_EXECUTABLES_EXCLUSIONS_', '_R_CHECK_FF_CALLS_', '_R_CHECK_FF_DUP_', '_R_CHECK_FORCE_SUGGESTS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_LEEWAY_', '_R_CHECK_HAVE_MYSQL_', '_R_CHECK_HAVE_ODBC_', '_R_CHECK_HAVE_PERL_', '_R_CHECK_HAVE_POSTGRES_', '_R_CHECK_INSTALL_DEPENDS_', '_R_CHECK_INTERNALS2_', '_R_CHECK_LENGTH_1_CONDITION_', '_R_CHECK_LICENSE_', '_R_CHECK_LIMIT_CORES_', '_R_CHECK_MATRIX_DATA_', '_R_CHECK_MBCS_CONVERSION_FAILURE_', '_R_CHECK_NATIVE_ROUTINE_REGISTRATION_', '_R_CHECK_NEWS_IN_PLAIN_TEXT_', '_R_CHECK_NO_RECOMMENDED_', '_R_CHECK_NO_STOP_ON_TEST_ERROR_', '_R_CHECK_ORPHANED_', '_R_CHECK_OVERWRITE_REGISTERED_S3_METHODS_', '_R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_', '_R_CHECK_PACKAGES_USED_IN_TESTS_USE_SUBDIRS_', '_R_CHECK_PACKAGE_DATASETS_SUPPRESS_NOTES_', '_R_CHECK_PACKAGE_NAME_', '_R_CHECK_PKG_SIZES_', '_R_CHECK_PKG_SIZES_THRESHOLD_', '_R_CHECK_PRAGMAS_', '_R_CHECK_RD_EXAMPLES_T_AND_F_', '_R_CHECK_RD_LINE_WIDTHS_', '_R_CHECK_RD_MATH_RENDERING_', '_R_CHECK_RD_NOTE_LOST_BRACES_', '_R_CHECK_RD_VALIDATE_RD2HTML_', '_R_CHECK_REPLACING_IMPORTS_', '_R_CHECK_R_DEPENDS_', '_R_CHECK_S3_METHODS_SHOW_POSSIBLE_ISSUES_', '_R_CHECK_SCREEN_DEVICE_', '_R_CHECK_SERIALIZATION_', '_R_CHECK_SHLIB_OPENMP_FLAGS_', '_R_CHECK_SRC_MINUS_W_IMPLICIT_', '_R_CHECK_SUBDIRS_NOCASE_', '_R_CHECK_SUGGESTS_ONLY_', '_R_CHECK_SYSTEM_CLOCK_', '_R_CHECK_TESTS_NLINES_', '_R_CHECK_TEST_TIMING_', '_R_CHECK_TIMINGS_', '_R_CHECK_TOPLEVEL_FILES_', '_R_CHECK_UNDOC_USE_ALL_NAMES_', '_R_CHECK_UNSAFE_CALLS_', '_R_CHECK_URLS_SHOW_301_STATUS_', '_R_CHECK_VC_DIRS_', '_R_CHECK_VIGNETTES_NLINES_', '_R_CHECK_VIGNETTES_SKIP_RUN_MAYBE_', '_R_CHECK_VIGNETTE_TIMING_', '_R_CHECK_VIGNETTE_TITLES_', '_R_CHECK_WINDOWS_DEVICE_', '_R_CHECK_XREFS_NOTE_MISSING_PACKAGE_ANCHORS_', '_R_CHECK_XREFS_USE_ALIASES_FROM_CRAN_', '_R_CLASS_MATRIX_ARRAY_', '_R_DEPRECATED_IS_R_', '_R_S3_METHOD_LOOKUP_BASEENV_AFTER_GLOBALENV_', '_R_SHLIB_BUILD_OBJECTS_SYMBOL_TABLES_', '__R_CHECK_DOC_FILES_NOTE_IF_ALL_SPECIAL__', 'maj.version', 'nextArg--timingsnextArg--install' - Environment variables still there: [n=0] - Environment variables missing: [n=1] 'MAKEFLAGS' Differences environment variable by environment variable: List of 3 $ name : chr "MAKEFLAGS" $ expected: 'Dlist' chr "" $ actual : 'Dlist' chr NA > > proc.time() user system elapsed 0.51 0.21 1.79