R Under development (unstable) (2023-12-20 r85713 ucrt) -- "Unsuffered Consequences" Copyright (C) 2023 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > source("incl/start.R") [01:28:06.368] plan(): Setting new future strategy stack: [01:28:06.370] List of future strategies: [01:28:06.370] 1. sequential: [01:28:06.370] - args: function (..., envir = parent.frame(), workers = "") [01:28:06.370] - tweaked: FALSE [01:28:06.370] - call: future::plan("sequential") [01:28:06.387] plan(): nbrOfWorkers() = 1 > library("listenv") > > message("*** Globals - too large ...") *** Globals - too large ... > > ooptsT <- options(future.globals.maxSize = object.size(1:1000) - 1L) > limit <- getOption("future.globals.maxSize") > cat(sprintf("Max total size of globals: %g bytes\n", limit)) Max total size of globals: 4047 bytes > > plan(multisession) [01:28:06.398] plan(): Setting new future strategy stack: [01:28:06.398] List of future strategies: [01:28:06.398] 1. multisession: [01:28:06.398] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [01:28:06.398] - tweaked: FALSE [01:28:06.398] - call: plan(multisession) [01:28:06.421] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [01:28:06.421] multisession: [01:28:06.421] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [01:28:06.421] - tweaked: FALSE [01:28:06.421] - call: plan(multisession) [01:28:06.432] getGlobalsAndPackages() ... [01:28:06.432] Not searching for globals [01:28:06.433] - globals: [0] [01:28:06.433] getGlobalsAndPackages() ... DONE [01:28:06.434] [local output] makeClusterPSOCK() ... [01:28:06.468] [local output] Workers: [n = 2] 'localhost', 'localhost' [01:28:06.475] [local output] Base port: 30022 [01:28:06.475] [local output] Getting setup options for 2 cluster nodes ... [01:28:06.475] [local output] - Node 1 of 2 ... [01:28:06.476] [local output] localMachine=TRUE => revtunnel=FALSE [01:28:06.477] Testing if worker's PID can be inferred: '"D:/RCompile/recent/R/bin/x64/Rscript" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpA39RUl/worker.rank=1.parallelly.parent=1288.50834d8644b.pid\")), silent = TRUE)" -e "file.exists(\"D:/temp/RtmpA39RUl/worker.rank=1.parallelly.parent=1288.50834d8644b.pid\")"' [01:28:06.807] - Possible to infer worker's PID: TRUE [01:28:06.808] [local output] Rscript port: 30022 [01:28:06.808] [local output] - Node 2 of 2 ... [01:28:06.809] [local output] localMachine=TRUE => revtunnel=FALSE [01:28:06.810] [local output] Rscript port: 30022 [01:28:06.811] [local output] Getting setup options for 2 cluster nodes ... done [01:28:06.811] [local output] - Parallel setup requested for some PSOCK nodes [01:28:06.812] [local output] Setting up PSOCK nodes in parallel [01:28:06.812] List of 36 [01:28:06.812] $ worker : chr "localhost" [01:28:06.812] ..- attr(*, "localhost")= logi TRUE [01:28:06.812] $ master : chr "localhost" [01:28:06.812] $ port : int 30022 [01:28:06.812] $ connectTimeout : num 120 [01:28:06.812] $ timeout : num 120 [01:28:06.812] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [01:28:06.812] $ homogeneous : logi TRUE [01:28:06.812] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=globals,toolarge.R:1288:CRANWIN3"| __truncated__ [01:28:06.812] $ rscript_envs : NULL [01:28:06.812] $ rscript_libs : chr [1:2] "D:/temp/RtmpCIb4qz/RLIBS_32fc52ae7b47" "D:/RCompile/recent/R/library" [01:28:06.812] $ rscript_startup : NULL [01:28:06.812] $ rscript_sh : chr "cmd" [01:28:06.812] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [01:28:06.812] $ methods : logi TRUE [01:28:06.812] $ socketOptions : chr "no-delay" [01:28:06.812] $ useXDR : logi FALSE [01:28:06.812] $ outfile : chr "/dev/null" [01:28:06.812] $ renice : int NA [01:28:06.812] $ rshcmd : NULL [01:28:06.812] $ user : chr(0) [01:28:06.812] $ revtunnel : logi FALSE [01:28:06.812] $ rshlogfile : NULL [01:28:06.812] $ rshopts : chr(0) [01:28:06.812] $ rank : int 1 [01:28:06.812] $ manual : logi FALSE [01:28:06.812] $ dryrun : logi FALSE [01:28:06.812] $ quiet : logi FALSE [01:28:06.812] $ setup_strategy : chr "parallel" [01:28:06.812] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [01:28:06.812] $ pidfile : chr "D:/temp/RtmpA39RUl/worker.rank=1.parallelly.parent=1288.50834d8644b.pid" [01:28:06.812] $ rshcmd_label : NULL [01:28:06.812] $ rsh_call : NULL [01:28:06.812] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [01:28:06.812] $ localMachine : logi TRUE [01:28:06.812] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [01:28:06.812] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [01:28:06.812] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [01:28:06.812] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [01:28:06.812] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [01:28:06.812] "cmd", "sh"), default_packages = c("datasets", "utils", "grDevices", [01:28:06.812] "graphics", "stats", if (methods) "methods"), methods = TRUE, socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [01:28:06.812] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [01:28:06.812] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [01:28:06.812] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [01:28:06.812] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [01:28:06.812] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [01:28:06.812] "parallel"), action = c("launch", "options"), verbose = FALSE) [01:28:06.812] $ arguments :List of 28 [01:28:06.812] ..$ worker : chr "localhost" [01:28:06.812] ..$ master : NULL [01:28:06.812] ..$ port : int 30022 [01:28:06.812] ..$ connectTimeout : num 120 [01:28:06.812] ..$ timeout : num 120 [01:28:06.812] ..$ rscript : NULL [01:28:06.812] ..$ homogeneous : NULL [01:28:06.812] ..$ rscript_args : NULL [01:28:06.812] ..$ rscript_envs : NULL [01:28:06.812] ..$ rscript_libs : chr [1:2] "D:/temp/RtmpCIb4qz/RLIBS_32fc52ae7b47" "D:/RCompile/recent/R/library" [01:28:06.812] ..$ rscript_startup : NULL [01:28:06.812] ..$ rscript_sh : chr [1:3] "auto" "cmd" "sh" [01:28:06.812] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [01:28:06.812] ..$ methods : logi TRUE [01:28:06.812] ..$ socketOptions : chr "no-delay" [01:28:06.812] ..$ useXDR : logi FALSE [01:28:06.812] ..$ outfile : chr "/dev/null" [01:28:06.812] ..$ renice : int NA [01:28:06.812] ..$ rshcmd : NULL [01:28:06.812] ..$ user : NULL [01:28:06.812] ..$ revtunnel : logi NA [01:28:06.812] ..$ rshlogfile : NULL [01:28:06.812] ..$ rshopts : NULL [01:28:06.812] ..$ rank : int 1 [01:28:06.812] ..$ manual : logi FALSE [01:28:06.812] ..$ dryrun : logi FALSE [01:28:06.812] ..$ quiet : logi FALSE [01:28:06.812] ..$ setup_strategy : chr "parallel" [01:28:06.812] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [01:28:06.837] [local output] System call to launch all workers: [01:28:06.837] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=globals,toolarge.R:1288:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpA39RUl/worker.rank=1.parallelly.parent=1288.50834d8644b.pid\")), silent = TRUE)" -e "options(socketOptions = \"no-delay\")" -e ".libPaths(c(\"D:/temp/RtmpCIb4qz/RLIBS_32fc52ae7b47\",\"D:/RCompile/recent/R/library\"))" -e "workRSOCK <- tryCatch(parallel:::.workRSOCK, error=function(e) parallel:::.slaveRSOCK); workRSOCK()" MASTER=localhost PORT=30022 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [01:28:06.837] [local output] Starting PSOCK main server [01:28:06.843] [local output] Workers launched [01:28:06.843] [local output] Waiting for workers to connect back [01:28:06.843] - [local output] 0 workers out of 2 ready [01:28:07.017] - [local output] 0 workers out of 2 ready [01:28:07.018] - [local output] 1 workers out of 2 ready [01:28:07.043] - [local output] 1 workers out of 2 ready [01:28:07.043] - [local output] 2 workers out of 2 ready [01:28:07.044] [local output] Launching of workers completed [01:28:07.044] [local output] Collecting session information from workers [01:28:07.045] [local output] - Worker #1 of 2 [01:28:07.045] [local output] - Worker #2 of 2 [01:28:07.046] [local output] makeClusterPSOCK() ... done [01:28:07.062] Packages needed by the future expression (n = 0): [01:28:07.062] Packages needed by future strategies (n = 0): [01:28:07.064] { [01:28:07.064] { [01:28:07.064] { [01:28:07.064] ...future.startTime <- base::Sys.time() [01:28:07.064] { [01:28:07.064] { [01:28:07.064] { [01:28:07.064] { [01:28:07.064] base::local({ [01:28:07.064] has_future <- base::requireNamespace("future", [01:28:07.064] quietly = TRUE) [01:28:07.064] if (has_future) { [01:28:07.064] ns <- base::getNamespace("future") [01:28:07.064] version <- ns[[".package"]][["version"]] [01:28:07.064] if (is.null(version)) [01:28:07.064] version <- utils::packageVersion("future") [01:28:07.064] } [01:28:07.064] else { [01:28:07.064] version <- NULL [01:28:07.064] } [01:28:07.064] if (!has_future || version < "1.8.0") { [01:28:07.064] info <- base::c(r_version = base::gsub("R version ", [01:28:07.064] "", base::R.version$version.string), [01:28:07.064] platform = base::sprintf("%s (%s-bit)", [01:28:07.064] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:28:07.064] os = base::paste(base::Sys.info()[base::c("sysname", [01:28:07.064] "release", "version")], collapse = " "), [01:28:07.064] hostname = base::Sys.info()[["nodename"]]) [01:28:07.064] info <- base::sprintf("%s: %s", base::names(info), [01:28:07.064] info) [01:28:07.064] info <- base::paste(info, collapse = "; ") [01:28:07.064] if (!has_future) { [01:28:07.064] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:28:07.064] info) [01:28:07.064] } [01:28:07.064] else { [01:28:07.064] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:28:07.064] info, version) [01:28:07.064] } [01:28:07.064] base::stop(msg) [01:28:07.064] } [01:28:07.064] }) [01:28:07.064] } [01:28:07.064] ...future.mc.cores.old <- base::getOption("mc.cores") [01:28:07.064] base::options(mc.cores = 1L) [01:28:07.064] } [01:28:07.064] options(future.plan = NULL) [01:28:07.064] Sys.unsetenv("R_FUTURE_PLAN") [01:28:07.064] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:28:07.064] } [01:28:07.064] ...future.workdir <- getwd() [01:28:07.064] } [01:28:07.064] ...future.oldOptions <- base::as.list(base::.Options) [01:28:07.064] ...future.oldEnvVars <- base::Sys.getenv() [01:28:07.064] } [01:28:07.064] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:28:07.064] future.globals.maxSize = 4047, future.globals.method = NULL, [01:28:07.064] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:28:07.064] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:28:07.064] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:28:07.064] future.stdout.windows.reencode = NULL, width = 80L) [01:28:07.064] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:28:07.064] base::names(...future.oldOptions)) [01:28:07.064] } [01:28:07.064] if (FALSE) { [01:28:07.064] } [01:28:07.064] else { [01:28:07.064] if (TRUE) { [01:28:07.064] ...future.stdout <- base::rawConnection(base::raw(0L), [01:28:07.064] open = "w") [01:28:07.064] } [01:28:07.064] else { [01:28:07.064] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:28:07.064] windows = "NUL", "/dev/null"), open = "w") [01:28:07.064] } [01:28:07.064] base::sink(...future.stdout, type = "output", split = FALSE) [01:28:07.064] base::on.exit(if (!base::is.null(...future.stdout)) { [01:28:07.064] base::sink(type = "output", split = FALSE) [01:28:07.064] base::close(...future.stdout) [01:28:07.064] }, add = TRUE) [01:28:07.064] } [01:28:07.064] ...future.frame <- base::sys.nframe() [01:28:07.064] ...future.conditions <- base::list() [01:28:07.064] ...future.rng <- base::globalenv()$.Random.seed [01:28:07.064] if (FALSE) { [01:28:07.064] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:28:07.064] "...future.value", "...future.globalenv.names", ".Random.seed") [01:28:07.064] } [01:28:07.064] ...future.result <- base::tryCatch({ [01:28:07.064] base::withCallingHandlers({ [01:28:07.064] ...future.value <- base::withVisible(base::local({ [01:28:07.064] ...future.makeSendCondition <- base::local({ [01:28:07.064] sendCondition <- NULL [01:28:07.064] function(frame = 1L) { [01:28:07.064] if (is.function(sendCondition)) [01:28:07.064] return(sendCondition) [01:28:07.064] ns <- getNamespace("parallel") [01:28:07.064] if (exists("sendData", mode = "function", [01:28:07.064] envir = ns)) { [01:28:07.064] parallel_sendData <- get("sendData", mode = "function", [01:28:07.064] envir = ns) [01:28:07.064] envir <- sys.frame(frame) [01:28:07.064] master <- NULL [01:28:07.064] while (!identical(envir, .GlobalEnv) && [01:28:07.064] !identical(envir, emptyenv())) { [01:28:07.064] if (exists("master", mode = "list", envir = envir, [01:28:07.064] inherits = FALSE)) { [01:28:07.064] master <- get("master", mode = "list", [01:28:07.064] envir = envir, inherits = FALSE) [01:28:07.064] if (inherits(master, c("SOCKnode", [01:28:07.064] "SOCK0node"))) { [01:28:07.064] sendCondition <<- function(cond) { [01:28:07.064] data <- list(type = "VALUE", value = cond, [01:28:07.064] success = TRUE) [01:28:07.064] parallel_sendData(master, data) [01:28:07.064] } [01:28:07.064] return(sendCondition) [01:28:07.064] } [01:28:07.064] } [01:28:07.064] frame <- frame + 1L [01:28:07.064] envir <- sys.frame(frame) [01:28:07.064] } [01:28:07.064] } [01:28:07.064] sendCondition <<- function(cond) NULL [01:28:07.064] } [01:28:07.064] }) [01:28:07.064] withCallingHandlers({ [01:28:07.064] NA [01:28:07.064] }, immediateCondition = function(cond) { [01:28:07.064] sendCondition <- ...future.makeSendCondition() [01:28:07.064] sendCondition(cond) [01:28:07.064] muffleCondition <- function (cond, pattern = "^muffle") [01:28:07.064] { [01:28:07.064] inherits <- base::inherits [01:28:07.064] invokeRestart <- base::invokeRestart [01:28:07.064] is.null <- base::is.null [01:28:07.064] muffled <- FALSE [01:28:07.064] if (inherits(cond, "message")) { [01:28:07.064] muffled <- grepl(pattern, "muffleMessage") [01:28:07.064] if (muffled) [01:28:07.064] invokeRestart("muffleMessage") [01:28:07.064] } [01:28:07.064] else if (inherits(cond, "warning")) { [01:28:07.064] muffled <- grepl(pattern, "muffleWarning") [01:28:07.064] if (muffled) [01:28:07.064] invokeRestart("muffleWarning") [01:28:07.064] } [01:28:07.064] else if (inherits(cond, "condition")) { [01:28:07.064] if (!is.null(pattern)) { [01:28:07.064] computeRestarts <- base::computeRestarts [01:28:07.064] grepl <- base::grepl [01:28:07.064] restarts <- computeRestarts(cond) [01:28:07.064] for (restart in restarts) { [01:28:07.064] name <- restart$name [01:28:07.064] if (is.null(name)) [01:28:07.064] next [01:28:07.064] if (!grepl(pattern, name)) [01:28:07.064] next [01:28:07.064] invokeRestart(restart) [01:28:07.064] muffled <- TRUE [01:28:07.064] break [01:28:07.064] } [01:28:07.064] } [01:28:07.064] } [01:28:07.064] invisible(muffled) [01:28:07.064] } [01:28:07.064] muffleCondition(cond) [01:28:07.064] }) [01:28:07.064] })) [01:28:07.064] future::FutureResult(value = ...future.value$value, [01:28:07.064] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:28:07.064] ...future.rng), globalenv = if (FALSE) [01:28:07.064] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:28:07.064] ...future.globalenv.names)) [01:28:07.064] else NULL, started = ...future.startTime, version = "1.8") [01:28:07.064] }, condition = base::local({ [01:28:07.064] c <- base::c [01:28:07.064] inherits <- base::inherits [01:28:07.064] invokeRestart <- base::invokeRestart [01:28:07.064] length <- base::length [01:28:07.064] list <- base::list [01:28:07.064] seq.int <- base::seq.int [01:28:07.064] signalCondition <- base::signalCondition [01:28:07.064] sys.calls <- base::sys.calls [01:28:07.064] `[[` <- base::`[[` [01:28:07.064] `+` <- base::`+` [01:28:07.064] `<<-` <- base::`<<-` [01:28:07.064] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:28:07.064] calls[seq.int(from = from + 12L, to = length(calls) - [01:28:07.064] 3L)] [01:28:07.064] } [01:28:07.064] function(cond) { [01:28:07.064] is_error <- inherits(cond, "error") [01:28:07.064] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:28:07.064] NULL) [01:28:07.064] if (is_error) { [01:28:07.064] sessionInformation <- function() { [01:28:07.064] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:28:07.064] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:28:07.064] search = base::search(), system = base::Sys.info()) [01:28:07.064] } [01:28:07.064] ...future.conditions[[length(...future.conditions) + [01:28:07.064] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:28:07.064] cond$call), session = sessionInformation(), [01:28:07.064] timestamp = base::Sys.time(), signaled = 0L) [01:28:07.064] signalCondition(cond) [01:28:07.064] } [01:28:07.064] else if (!ignore && TRUE && inherits(cond, c("condition", [01:28:07.064] "immediateCondition"))) { [01:28:07.064] signal <- TRUE && inherits(cond, "immediateCondition") [01:28:07.064] ...future.conditions[[length(...future.conditions) + [01:28:07.064] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:28:07.064] if (TRUE && !signal) { [01:28:07.064] muffleCondition <- function (cond, pattern = "^muffle") [01:28:07.064] { [01:28:07.064] inherits <- base::inherits [01:28:07.064] invokeRestart <- base::invokeRestart [01:28:07.064] is.null <- base::is.null [01:28:07.064] muffled <- FALSE [01:28:07.064] if (inherits(cond, "message")) { [01:28:07.064] muffled <- grepl(pattern, "muffleMessage") [01:28:07.064] if (muffled) [01:28:07.064] invokeRestart("muffleMessage") [01:28:07.064] } [01:28:07.064] else if (inherits(cond, "warning")) { [01:28:07.064] muffled <- grepl(pattern, "muffleWarning") [01:28:07.064] if (muffled) [01:28:07.064] invokeRestart("muffleWarning") [01:28:07.064] } [01:28:07.064] else if (inherits(cond, "condition")) { [01:28:07.064] if (!is.null(pattern)) { [01:28:07.064] computeRestarts <- base::computeRestarts [01:28:07.064] grepl <- base::grepl [01:28:07.064] restarts <- computeRestarts(cond) [01:28:07.064] for (restart in restarts) { [01:28:07.064] name <- restart$name [01:28:07.064] if (is.null(name)) [01:28:07.064] next [01:28:07.064] if (!grepl(pattern, name)) [01:28:07.064] next [01:28:07.064] invokeRestart(restart) [01:28:07.064] muffled <- TRUE [01:28:07.064] break [01:28:07.064] } [01:28:07.064] } [01:28:07.064] } [01:28:07.064] invisible(muffled) [01:28:07.064] } [01:28:07.064] muffleCondition(cond, pattern = "^muffle") [01:28:07.064] } [01:28:07.064] } [01:28:07.064] else { [01:28:07.064] if (TRUE) { [01:28:07.064] muffleCondition <- function (cond, pattern = "^muffle") [01:28:07.064] { [01:28:07.064] inherits <- base::inherits [01:28:07.064] invokeRestart <- base::invokeRestart [01:28:07.064] is.null <- base::is.null [01:28:07.064] muffled <- FALSE [01:28:07.064] if (inherits(cond, "message")) { [01:28:07.064] muffled <- grepl(pattern, "muffleMessage") [01:28:07.064] if (muffled) [01:28:07.064] invokeRestart("muffleMessage") [01:28:07.064] } [01:28:07.064] else if (inherits(cond, "warning")) { [01:28:07.064] muffled <- grepl(pattern, "muffleWarning") [01:28:07.064] if (muffled) [01:28:07.064] invokeRestart("muffleWarning") [01:28:07.064] } [01:28:07.064] else if (inherits(cond, "condition")) { [01:28:07.064] if (!is.null(pattern)) { [01:28:07.064] computeRestarts <- base::computeRestarts [01:28:07.064] grepl <- base::grepl [01:28:07.064] restarts <- computeRestarts(cond) [01:28:07.064] for (restart in restarts) { [01:28:07.064] name <- restart$name [01:28:07.064] if (is.null(name)) [01:28:07.064] next [01:28:07.064] if (!grepl(pattern, name)) [01:28:07.064] next [01:28:07.064] invokeRestart(restart) [01:28:07.064] muffled <- TRUE [01:28:07.064] break [01:28:07.064] } [01:28:07.064] } [01:28:07.064] } [01:28:07.064] invisible(muffled) [01:28:07.064] } [01:28:07.064] muffleCondition(cond, pattern = "^muffle") [01:28:07.064] } [01:28:07.064] } [01:28:07.064] } [01:28:07.064] })) [01:28:07.064] }, error = function(ex) { [01:28:07.064] base::structure(base::list(value = NULL, visible = NULL, [01:28:07.064] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:28:07.064] ...future.rng), started = ...future.startTime, [01:28:07.064] finished = Sys.time(), session_uuid = NA_character_, [01:28:07.064] version = "1.8"), class = "FutureResult") [01:28:07.064] }, finally = { [01:28:07.064] if (!identical(...future.workdir, getwd())) [01:28:07.064] setwd(...future.workdir) [01:28:07.064] { [01:28:07.064] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:28:07.064] ...future.oldOptions$nwarnings <- NULL [01:28:07.064] } [01:28:07.064] base::options(...future.oldOptions) [01:28:07.064] if (.Platform$OS.type == "windows") { [01:28:07.064] old_names <- names(...future.oldEnvVars) [01:28:07.064] envs <- base::Sys.getenv() [01:28:07.064] names <- names(envs) [01:28:07.064] common <- intersect(names, old_names) [01:28:07.064] added <- setdiff(names, old_names) [01:28:07.064] removed <- setdiff(old_names, names) [01:28:07.064] changed <- common[...future.oldEnvVars[common] != [01:28:07.064] envs[common]] [01:28:07.064] NAMES <- toupper(changed) [01:28:07.064] args <- list() [01:28:07.064] for (kk in seq_along(NAMES)) { [01:28:07.064] name <- changed[[kk]] [01:28:07.064] NAME <- NAMES[[kk]] [01:28:07.064] if (name != NAME && is.element(NAME, old_names)) [01:28:07.064] next [01:28:07.064] args[[name]] <- ...future.oldEnvVars[[name]] [01:28:07.064] } [01:28:07.064] NAMES <- toupper(added) [01:28:07.064] for (kk in seq_along(NAMES)) { [01:28:07.064] name <- added[[kk]] [01:28:07.064] NAME <- NAMES[[kk]] [01:28:07.064] if (name != NAME && is.element(NAME, old_names)) [01:28:07.064] next [01:28:07.064] args[[name]] <- "" [01:28:07.064] } [01:28:07.064] NAMES <- toupper(removed) [01:28:07.064] for (kk in seq_along(NAMES)) { [01:28:07.064] name <- removed[[kk]] [01:28:07.064] NAME <- NAMES[[kk]] [01:28:07.064] if (name != NAME && is.element(NAME, old_names)) [01:28:07.064] next [01:28:07.064] args[[name]] <- ...future.oldEnvVars[[name]] [01:28:07.064] } [01:28:07.064] if (length(args) > 0) [01:28:07.064] base::do.call(base::Sys.setenv, args = args) [01:28:07.064] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:28:07.064] } [01:28:07.064] else { [01:28:07.064] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:28:07.064] } [01:28:07.064] { [01:28:07.064] if (base::length(...future.futureOptionsAdded) > [01:28:07.064] 0L) { [01:28:07.064] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:28:07.064] base::names(opts) <- ...future.futureOptionsAdded [01:28:07.064] base::options(opts) [01:28:07.064] } [01:28:07.064] { [01:28:07.064] { [01:28:07.064] base::options(mc.cores = ...future.mc.cores.old) [01:28:07.064] NULL [01:28:07.064] } [01:28:07.064] options(future.plan = NULL) [01:28:07.064] if (is.na(NA_character_)) [01:28:07.064] Sys.unsetenv("R_FUTURE_PLAN") [01:28:07.064] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:28:07.064] future::plan(list(function (..., workers = availableCores(), [01:28:07.064] lazy = FALSE, rscript_libs = .libPaths(), [01:28:07.064] envir = parent.frame()) [01:28:07.064] { [01:28:07.064] if (is.function(workers)) [01:28:07.064] workers <- workers() [01:28:07.064] workers <- structure(as.integer(workers), [01:28:07.064] class = class(workers)) [01:28:07.064] stop_if_not(length(workers) == 1, is.finite(workers), [01:28:07.064] workers >= 1) [01:28:07.064] if (workers == 1L && !inherits(workers, "AsIs")) { [01:28:07.064] return(sequential(..., lazy = TRUE, envir = envir)) [01:28:07.064] } [01:28:07.064] future <- MultisessionFuture(..., workers = workers, [01:28:07.064] lazy = lazy, rscript_libs = rscript_libs, [01:28:07.064] envir = envir) [01:28:07.064] if (!future$lazy) [01:28:07.064] future <- run(future) [01:28:07.064] invisible(future) [01:28:07.064] }), .cleanup = FALSE, .init = FALSE) [01:28:07.064] } [01:28:07.064] } [01:28:07.064] } [01:28:07.064] }) [01:28:07.064] if (TRUE) { [01:28:07.064] base::sink(type = "output", split = FALSE) [01:28:07.064] if (TRUE) { [01:28:07.064] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:28:07.064] } [01:28:07.064] else { [01:28:07.064] ...future.result["stdout"] <- base::list(NULL) [01:28:07.064] } [01:28:07.064] base::close(...future.stdout) [01:28:07.064] ...future.stdout <- NULL [01:28:07.064] } [01:28:07.064] ...future.result$conditions <- ...future.conditions [01:28:07.064] ...future.result$finished <- base::Sys.time() [01:28:07.064] ...future.result [01:28:07.064] } [01:28:07.147] MultisessionFuture started [01:28:07.148] result() for ClusterFuture ... [01:28:07.149] receiveMessageFromWorker() for ClusterFuture ... [01:28:07.149] - Validating connection of MultisessionFuture [01:28:07.205] - received message: FutureResult [01:28:07.206] - Received FutureResult [01:28:07.209] - Erased future from FutureRegistry [01:28:07.210] result() for ClusterFuture ... [01:28:07.210] - result already collected: FutureResult [01:28:07.211] result() for ClusterFuture ... done [01:28:07.211] receiveMessageFromWorker() for ClusterFuture ... done [01:28:07.211] result() for ClusterFuture ... done [01:28:07.211] result() for ClusterFuture ... [01:28:07.211] - result already collected: FutureResult [01:28:07.212] result() for ClusterFuture ... done [01:28:07.212] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [01:28:07.215] 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 <- 1:1000 > b <- 1:900 > c <- 1:800 > d <- 1:700 > e <- 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 } [01:28:07.226] getGlobalsAndPackages() ... [01:28:07.226] Searching for globals... [01:28:07.230] - globals found: [2] '{', 'a' [01:28:07.231] Searching for globals ... DONE [01:28:07.231] Resolving globals: FALSE [01:28:07.232] The total size of the 1 globals is 3.95 KiB (4048 bytes) [01:28:07.233] The total size of the 1 globals exported for future expression ('{; a; }') is 3.95 KiB.. This exceeds the maximum allowed size of 3.95 KiB (option 'future.globals.maxSize'). There is one global: 'a' (3.95 KiB of class 'numeric') Expression B: { a * b } [01:28:07.234] getGlobalsAndPackages() ... [01:28:07.234] Searching for globals... [01:28:07.239] - globals found: [4] '{', '*', 'a', 'b' [01:28:07.240] Searching for globals ... DONE [01:28:07.240] Resolving globals: FALSE [01:28:07.241] The total size of the 2 globals is 7.52 KiB (7696 bytes) [01:28:07.241] The total size of the 2 globals exported for future expression ('{; a * b; }') is 7.52 KiB.. This exceeds the maximum allowed size of 3.95 KiB (option 'future.globals.maxSize'). There are two globals: 'a' (3.95 KiB of class 'numeric') and 'b' (3.56 KiB of class 'numeric') Expression C: { a * b * c } [01:28:07.242] getGlobalsAndPackages() ... [01:28:07.242] Searching for globals... [01:28:07.244] - globals found: [5] '{', '*', 'a', 'b', 'c' [01:28:07.244] Searching for globals ... DONE [01:28:07.244] Resolving globals: FALSE [01:28:07.245] The total size of the 3 globals is 10.69 KiB (10944 bytes) [01:28:07.246] The total size of the 3 globals exported for future expression ('{; a * b * c; }') is 10.69 KiB.. This exceeds the maximum allowed size of 3.95 KiB (option 'future.globals.maxSize'). There are three globals: 'a' (3.95 KiB of class 'numeric'), 'b' (3.56 KiB of class 'numeric') and 'c' (3.17 KiB of class 'numeric') Expression D: { a * b * c * d } [01:28:07.246] getGlobalsAndPackages() ... [01:28:07.247] Searching for globals... [01:28:07.252] - globals found: [6] '{', '*', 'a', 'b', 'c', 'd' [01:28:07.252] Searching for globals ... DONE [01:28:07.252] Resolving globals: FALSE [01:28:07.253] The total size of the 4 globals is 13.47 KiB (13792 bytes) [01:28:07.254] The total size of the 4 globals exported for future expression ('{; a * b * c * d; }') is 13.47 KiB.. This exceeds the maximum allowed size of 3.95 KiB (option 'future.globals.maxSize'). The three largest globals are 'a' (3.95 KiB of class 'numeric'), 'b' (3.56 KiB of class 'numeric') and 'c' (3.17 KiB of class 'numeric') Expression E: { a * b * c * d * e } [01:28:07.254] getGlobalsAndPackages() ... [01:28:07.254] Searching for globals... [01:28:07.256] - globals found: [7] '{', '*', 'a', 'b', 'c', 'd', 'e' [01:28:07.256] Searching for globals ... DONE [01:28:07.256] Resolving globals: FALSE [01:28:07.257] The total size of the 5 globals is 13.52 KiB (13848 bytes) [01:28:07.258] The total size of the 5 globals exported for future expression ('{; a * b * c * d * e; }') is 13.52 KiB.. This exceeds the maximum allowed size of 3.95 KiB (option 'future.globals.maxSize'). The three largest globals are 'a' (3.95 KiB of class 'numeric'), 'b' (3.56 KiB of class 'numeric') and 'c' (3.17 KiB of class 'numeric') > > message("*** Globals - too large ... DONE") *** Globals - too large ... DONE > > source("incl/end.R") [01:28:07.259] plan(): Setting new future strategy stack: [01:28:07.259] List of future strategies: [01:28:07.259] 1. FutureStrategy: [01:28:07.259] - args: function (..., envir = parent.frame(), workers = "") [01:28:07.259] - tweaked: FALSE [01:28:07.259] - call: future::plan(oplan) [01:28:07.260] plan(): nbrOfWorkers() = 1 Failed to undo environment variables: - Expected environment variables: [n=204] '!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', 'R_ARCH', 'R_BROWSER', 'R_BZIPCMD', 'R_CMD', 'R_COMPILED_BY', 'R_CRAN_WEB', 'R_CUSTOM_TOOLS_PATH', 'R_CUSTOM_TOOLS_SOFT', 'R_DOC_DIR', 'R_ENVIRON_USER', 'R_GSCMD', 'R_GZIPCMD', 'R_HOME', 'R_INCLUDE_DIR', 'R_INSTALL_TAR', 'R_LIBS', 'R_LIBS_SITE', 'R_LIBS_USER', 'R_MAX_NUM_DLLS', 'R_OSTYPE', 'R_PAPERSIZE', 'R_PAPERSIZE_USER', 'R_PARALLELLY_MAKENODEPSOCK_AUTOKILL', 'R_PARALLELLY_MAKENODEPSOCK_CONNECTTIMEOUT', 'R_PARALLELLY_MAKENODEPSOCK_RSCRIPT_LABEL', 'R_PARALLELLY_MAKENODEPSOCK_SESSIONINFO_PKGS', 'R_PARALLELLY_MAKENODEPSOCK_TIMEOUT', 'R_PARALLELLY_RANDOM_PORTS', 'R_PARALLEL_PORT', 'R_RD4PDF', 'R_RTOOLS43_PATH', 'R_SCRIPT_LEGACY', 'R_SHARE_DIR', 'R_TESTS', 'R_UNZIPCMD', 'R_USER', 'R_VERSION', 'R_ZIPCMD', 'SED', 'SHLVL', 'SYSTEMDRIVE', 'SYSTEMROOT', 'TAR', 'TAR_OPTIONS', 'TEMP', 'TERM', 'TEXINPUTS', 'TMP', 'TMPDIR', 'USERDOMAIN', 'USERDOMAIN_ROAMINGPROFILE', 'USERNAME', 'USERPROFILE', 'WINDIR', '_', '_R_CHECK_AUTOCONF_', '_R_CHECK_BOGUS_RETURN_', '_R_CHECK_BROWSER_NONINTERACTIVE_', '_R_CHECK_BUILD_VIGNETTES_SEPARATELY_', '_R_CHECK_CODETOOLS_PROFILE_', '_R_CHECK_CODE_ASSIGN_TO_GLOBALENV_', '_R_CHECK_CODE_ATTACH_', '_R_CHECK_CODE_CLASS_IS_STRING_', '_R_CHECK_CODE_DATA_INTO_GLOBALENV_', '_R_CHECK_CODE_USAGE_VIA_NAMESPACES_', '_R_CHECK_CODE_USAGE_WITHOUT_LOADING_', '_R_CHECK_CODE_USAGE_WITH_ONLY_BASE_ATTACHED_', '_R_CHECK_CODOC_VARIABLES_IN_USAGES_', '_R_CHECK_COMPACT_DATA2_', '_R_CHECK_COMPILATION_FLAGS_', '_R_CHECK_CONNECTIONS_LEFT_OPEN_', '_R_CHECK_CRAN_INCOMING_', '_R_CHECK_CRAN_INCOMING_CHECK_FILE_URIS_', '_R_CHECK_CRAN_INCOMING_CHECK_URLS_IN_PARALLEL_', '_R_CHECK_CRAN_INCOMING_NOTE_GNU_MAKE_', '_R_CHECK_CRAN_INCOMING_REMOTE_', '_R_CHECK_CRAN_INCOMING_USE_ASPELL_', '_R_CHECK_DATALIST_', '_R_CHECK_DEPRECATED_DEFUNCT_', '_R_CHECK_DOC_SIZES2_', '_R_CHECK_DOT_FIRSTLIB_', '_R_CHECK_DOT_INTERNAL_', '_R_CHECK_EXAMPLE_TIMING_THRESHOLD_', '_R_CHECK_EXECUTABLES_', '_R_CHECK_EXECUTABLES_EXCLUSIONS_', '_R_CHECK_FF_CALLS_', '_R_CHECK_FF_DUP_', '_R_CHECK_FORCE_SUGGESTS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_LEEWAY_', '_R_CHECK_HAVE_MYSQL_', '_R_CHECK_HAVE_ODBC_', '_R_CHECK_HAVE_PERL_', '_R_CHECK_HAVE_POSTGRES_', '_R_CHECK_INSTALL_DEPENDS_', '_R_CHECK_INTERNALS2_', '_R_CHECK_LENGTH_1_CONDITION_', '_R_CHECK_LICENSE_', '_R_CHECK_LIMIT_CORES_', '_R_CHECK_MATRIX_DATA_', '_R_CHECK_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_SUBDIRS_STRICT_', '_R_CHECK_SUGGESTS_ONLY_', '_R_CHECK_SYSTEM_CLOCK_', '_R_CHECK_TESTS_NLINES_', '_R_CHECK_TEST_TIMING_', '_R_CHECK_TIMINGS_', '_R_CHECK_TOPLEVEL_FILES_', '_R_CHECK_UNDOC_USE_ALL_NAMES_', '_R_CHECK_UNSAFE_CALLS_', '_R_CHECK_URLS_SHOW_301_STATUS_', '_R_CHECK_VC_DIRS_', '_R_CHECK_VIGNETTES_NLINES_', '_R_CHECK_VIGNETTES_SKIP_RUN_MAYBE_', '_R_CHECK_VIGNETTE_TIMING_', '_R_CHECK_VIGNETTE_TITLES_', '_R_CHECK_WINDOWS_DEVICE_', '_R_CHECK_XREFS_USE_ALIASES_FROM_CRAN_', '_R_CLASS_MATRIX_ARRAY_', '_R_INSTALL_TIME_PATCHES_', '_R_S3_METHOD_LOOKUP_BASEENV_AFTER_GLOBALENV_', '_R_SHLIB_BUILD_OBJECTS_SYMBOL_TABLES_', '__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.43 0.07 1.18