CRAN Package Check Results for Maintainer ‘Henrik Bengtsson <henrikb at braju.com>’

Last updated on 2024-06-24 11:57:01 CEST.

Package ERROR NOTE OK
ACNE 13
aroma.affymetrix 8 5
aroma.apd 2 11
aroma.cn 2 11
aroma.core 13
calmate 1 12
dChipIO 13
doFuture 13
future 13
future.apply 13
future.batchtools 13
future.callr 13
future.mirai 3 10
future.tests 13
futureverse 13
globals 13
listenv 13
matrixStats 13
parallelly 13
port4me 13
profmem 1 12
progressr 13
PSCBS 13
R.cache 10 3
R.devices 1 12
R.filesets 13
R.huge 13
R.matlab 10 3
R.methodsS3 13
R.oo 13
R.rsp 13
R.utils 13
seguid 13
startup 13
TopDom 10 3

Package ACNE

Current CRAN status: OK: 13

Package aroma.affymetrix

Current CRAN status: NOTE: 8, OK: 5

Version: 3.2.2
Check: installed package size
Result: NOTE installed size is 5.9Mb sub-directories of 1Mb or more: R 2.3Mb help 1.2Mb testScripts 1.3Mb Flavors: r-devel-linux-x86_64-fedora-clang, r-devel-windows-x86_64, r-release-macos-arm64, r-release-macos-x86_64, r-release-windows-x86_64, r-oldrel-macos-arm64, r-oldrel-macos-x86_64, r-oldrel-windows-x86_64

Version: 3.2.2
Check: package dependencies
Result: NOTE Package suggested but not available for checking: ‘AffymetrixDataTestFiles’ Flavors: r-release-macos-arm64, r-release-macos-x86_64

Version: 3.2.2
Check: package dependencies
Result: NOTE Packages suggested but not available for checking: 'affxparser', 'oligo', 'oligoClasses', 'pdInfoBuilder', 'AffymetrixDataTestFiles' Flavors: r-oldrel-macos-arm64, r-oldrel-macos-x86_64

Version: 3.2.2
Check: Rd cross-references
Result: NOTE Packages unavailable to check Rd xrefs: ‘affxparser’, ‘oligo’, ‘oligoClasses’ Flavors: r-oldrel-macos-arm64, r-oldrel-macos-x86_64

Package aroma.apd

Current CRAN status: NOTE: 2, OK: 11

Version: 0.7.0
Check: package dependencies
Result: NOTE Package suggested but not available for checking: ‘affxparser’ Flavors: r-oldrel-macos-arm64, r-oldrel-macos-x86_64

Version: 0.7.0
Check: Rd cross-references
Result: NOTE Package unavailable to check Rd xrefs: ‘affxparser’ Flavors: r-oldrel-macos-arm64, r-oldrel-macos-x86_64

Package aroma.cn

Current CRAN status: NOTE: 2, OK: 11

Version: 1.7.1
Check: package dependencies
Result: NOTE Package suggested but not available for checking: ‘GLAD’ Flavors: r-oldrel-macos-arm64, r-oldrel-macos-x86_64

Package aroma.core

Current CRAN status: NOTE: 13

Version: 3.3.1
Check: package dependencies
Result: NOTE Packages suggested but not available for checking: 'sfit', 'expectile', 'HaarSeg', 'mpcbs' Flavors: r-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc, r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc, r-devel-windows-x86_64, r-patched-linux-x86_64, r-release-linux-x86_64, r-release-macos-arm64, r-release-macos-x86_64, r-release-windows-x86_64, r-oldrel-windows-x86_64

Version: 3.3.1
Check: package dependencies
Result: NOTE Packages suggested but not available for checking: 'GLAD', 'sfit', 'expectile', 'HaarSeg', 'mpcbs' Flavors: r-oldrel-macos-arm64, r-oldrel-macos-x86_64

Version: 3.3.1
Check: Rd cross-references
Result: NOTE Package unavailable to check Rd xrefs: ‘GLAD’ Flavors: r-oldrel-macos-arm64, r-oldrel-macos-x86_64

Package calmate

Current CRAN status: ERROR: 1, OK: 12

Version: 0.13.0
Check: package dependencies
Result: ERROR Package required but not available: ‘aroma.core’ See section ‘The DESCRIPTION file’ in the ‘Writing R Extensions’ manual. Flavor: r-oldrel-macos-arm64

Package dChipIO

Current CRAN status: OK: 13

Package doFuture

Current CRAN status: OK: 13

Package future

Current CRAN status: OK: 13

Package future.apply

Current CRAN status: OK: 13

Package future.batchtools

Current CRAN status: OK: 13

Package future.callr

Current CRAN status: OK: 13

Package future.mirai

Current CRAN status: ERROR: 3, OK: 10

Version: 0.2.1
Check: examples
Result: ERROR Running examples in ‘future.mirai-Ex.R’ failed The error most likely occurred in: > base::assign(".ptime", proc.time(), pos = "CheckExEnv") > ### Name: mirai_cluster > ### Title: Mirai-based cluster futures > ### Aliases: mirai_cluster > > ### ** Examples > > mirai::daemons(parallelly::availableCores(), dispatcher = FALSE) [1] 2 > plan(mirai_cluster) Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: plan ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Flavor: r-devel-linux-x86_64-debian-gcc

Version: 0.2.1
Check: tests
Result: ERROR Running ‘demo.R’ [1s/2s] Running ‘dotdotdot.R’ [1s/2s] Running ‘future,labels.R’ [1s/2s] Running ‘future,lazy.R’ [1s/2s] Running ‘future.tests,mirai_cluster.R’ [5s/20s] Running ‘future.tests-mirai_multisession.R’ [2s/5s] Running ‘globals,formulas.R’ [1s/2s] Running ‘globals,manual.R’ [1s/2s] Running ‘globals,nested.R’ [1s/1s] Running ‘globals,subassignment.R’ [1s/2s] Running ‘globals,tricky.R’ [1s/2s] Running ‘mirai_cluster,worker-termination.R’ [1s/2s] Running ‘mirai_cluster.R’ [1s/2s] Running ‘nbrOfWorkers.R’ [1s/2s] Running ‘plan.R’ [1s/2s] Running ‘rng.R’ [1s/2s] Running ‘stdout.R’ [1s/2s] Running ‘zzz,future_lapply.R’ [1s/2s] Running the tests in ‘tests/demo.R’ failed. Complete output: > source("incl/start.R") Loading required package: future [22:34:15.274] plan(): Setting new future strategy stack: [22:34:15.274] List of future strategies: [22:34:15.274] 1. mirai_multisession: [22:34:15.274] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [22:34:15.274] - tweaked: FALSE [22:34:15.274] - call: future::plan(future.mirai::mirai_multisession) [22:34:15.301] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [22:34:15.301] < mirai [$data] > [22:34:15.335] getGlobalsAndPackages() ... [22:34:15.336] Not searching for globals [22:34:15.336] - globals: [0] <none> [22:34:15.337] getGlobalsAndPackages() ... DONE [22:34:15.337] getGlobalsAndPackages() ... [22:34:15.338] [22:34:15.338] - globals: [0] <none> [22:34:15.338] getGlobalsAndPackages() ... DONE [22:34:16.362] Packages needed by the future expression (n = 0): <none> [22:34:16.363] Packages needed by future strategies (n = 0): <none> [22:34:16.364] { [22:34:16.364] { [22:34:16.364] { [22:34:16.364] ...future.startTime <- base::Sys.time() [22:34:16.364] { [22:34:16.364] { [22:34:16.364] { [22:34:16.364] base::local({ [22:34:16.364] has_future <- base::requireNamespace("future", [22:34:16.364] quietly = TRUE) [22:34:16.364] if (has_future) { [22:34:16.364] ns <- base::getNamespace("future") [22:34:16.364] version <- ns[[".package"]][["version"]] [22:34:16.364] if (is.null(version)) [22:34:16.364] version <- utils::packageVersion("future") [22:34:16.364] } [22:34:16.364] else { [22:34:16.364] version <- NULL [22:34:16.364] } [22:34:16.364] if (!has_future || version < "1.8.0") { [22:34:16.364] info <- base::c(r_version = base::gsub("R version ", [22:34:16.364] "", base::R.version$version.string), [22:34:16.364] platform = base::sprintf("%s (%s-bit)", [22:34:16.364] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [22:34:16.364] os = base::paste(base::Sys.info()[base::c("sysname", [22:34:16.364] "release", "version")], collapse = " "), [22:34:16.364] hostname = base::Sys.info()[["nodename"]]) [22:34:16.364] info <- base::sprintf("%s: %s", base::names(info), [22:34:16.364] info) [22:34:16.364] info <- base::paste(info, collapse = "; ") [22:34:16.364] if (!has_future) { [22:34:16.364] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [22:34:16.364] info) [22:34:16.364] } [22:34:16.364] else { [22:34:16.364] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [22:34:16.364] info, version) [22:34:16.364] } [22:34:16.364] base::stop(msg) [22:34:16.364] } [22:34:16.364] }) [22:34:16.364] } [22:34:16.364] ...future.strategy.old <- future::plan("list") [22:34:16.364] options(future.plan = NULL) [22:34:16.364] Sys.unsetenv("R_FUTURE_PLAN") [22:34:16.364] future::plan("default", .cleanup = FALSE, .init = FALSE) [22:34:16.364] } [22:34:16.364] ...future.workdir <- getwd() [22:34:16.364] } [22:34:16.364] ...future.oldOptions <- base::as.list(base::.Options) [22:34:16.364] ...future.oldEnvVars <- base::Sys.getenv() [22:34:16.364] } [22:34:16.364] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [22:34:16.364] future.globals.maxSize = NULL, future.globals.method = NULL, [22:34:16.364] future.globals.onMissing = NULL, future.globals.onReference = NULL, [22:34:16.364] future.globals.resolve = NULL, future.resolve.recursive = NULL, [22:34:16.364] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [22:34:16.364] future.stdout.windows.reencode = NULL, width = 80L) [22:34:16.364] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [22:34:16.364] base::names(...future.oldOptions)) [22:34:16.364] } [22:34:16.364] if (FALSE) { [22:34:16.364] } [22:34:16.364] else { [22:34:16.364] if (TRUE) { [22:34:16.364] ...future.stdout <- base::rawConnection(base::raw(0L), [22:34:16.364] open = "w") [22:34:16.364] } [22:34:16.364] else { [22:34:16.364] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [22:34:16.364] windows = "NUL", "/dev/null"), open = "w") [22:34:16.364] } [22:34:16.364] base::sink(...future.stdout, type = "output", split = FALSE) [22:34:16.364] base::on.exit(if (!base::is.null(...future.stdout)) { [22:34:16.364] base::sink(type = "output", split = FALSE) [22:34:16.364] base::close(...future.stdout) [22:34:16.364] }, add = TRUE) [22:34:16.364] } [22:34:16.364] ...future.frame <- base::sys.nframe() [22:34:16.364] ...future.conditions <- base::list() [22:34:16.364] ...future.rng <- base::globalenv()$.Random.seed [22:34:16.364] if (FALSE) { [22:34:16.364] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [22:34:16.364] "...future.value", "...future.globalenv.names", ".Random.seed") [22:34:16.364] } [22:34:16.364] ...future.result <- base::tryCatch({ [22:34:16.364] base::withCallingHandlers({ [22:34:16.364] ...future.value <- base::withVisible(base::local(NA)) [22:34:16.364] future::FutureResult(value = ...future.value$value, [22:34:16.364] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [22:34:16.364] ...future.rng), globalenv = if (FALSE) [22:34:16.364] list(added = base::setdiff(base::names(base::.GlobalEnv), [22:34:16.364] ...future.globalenv.names)) [22:34:16.364] else NULL, started = ...future.startTime, version = "1.8") [22:34:16.364] }, condition = base::local({ [22:34:16.364] c <- base::c [22:34:16.364] inherits <- base::inherits [22:34:16.364] invokeRestart <- base::invokeRestart [22:34:16.364] length <- base::length [22:34:16.364] list <- base::list [22:34:16.364] seq.int <- base::seq.int [22:34:16.364] signalCondition <- base::signalCondition [22:34:16.364] sys.calls <- base::sys.calls [22:34:16.364] `[[` <- base::`[[` [22:34:16.364] `+` <- base::`+` [22:34:16.364] `<<-` <- base::`<<-` [22:34:16.364] sysCalls <- function(calls = sys.calls(), from = 1L) { [22:34:16.364] calls[seq.int(from = from + 12L, to = length(calls) - [22:34:16.364] 3L)] [22:34:16.364] } [22:34:16.364] function(cond) { [22:34:16.364] is_error <- inherits(cond, "error") [22:34:16.364] ignore <- !is_error && !is.null(NULL) && inherits(cond, [22:34:16.364] NULL) [22:34:16.364] if (is_error) { [22:34:16.364] sessionInformation <- function() { [22:34:16.364] list(r = base::R.Version(), locale = base::Sys.getlocale(), [22:34:16.364] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [22:34:16.364] search = base::search(), system = base::Sys.info()) [22:34:16.364] } [22:34:16.364] ...future.conditions[[length(...future.conditions) + [22:34:16.364] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [22:34:16.364] cond$call), session = sessionInformation(), [22:34:16.364] timestamp = base::Sys.time(), signaled = 0L) [22:34:16.364] signalCondition(cond) [22:34:16.364] } [22:34:16.364] else if (!ignore && TRUE && inherits(cond, "condition")) { [22:34:16.364] signal <- FALSE && inherits(cond, character(0)) [22:34:16.364] ...future.conditions[[length(...future.conditions) + [22:34:16.364] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [22:34:16.364] if (FALSE && !signal) { [22:34:16.364] muffleCondition <- function (cond, pattern = "^muffle") [22:34:16.364] { [22:34:16.364] inherits <- base::inherits [22:34:16.364] invokeRestart <- base::invokeRestart [22:34:16.364] is.null <- base::is.null [22:34:16.364] muffled <- FALSE [22:34:16.364] if (inherits(cond, "message")) { [22:34:16.364] muffled <- grepl(pattern, "muffleMessage") [22:34:16.364] if (muffled) [22:34:16.364] invokeRestart("muffleMessage") [22:34:16.364] } [22:34:16.364] else if (inherits(cond, "warning")) { [22:34:16.364] muffled <- grepl(pattern, "muffleWarning") [22:34:16.364] if (muffled) [22:34:16.364] invokeRestart("muffleWarning") [22:34:16.364] } [22:34:16.364] else if (inherits(cond, "condition")) { [22:34:16.364] if (!is.null(pattern)) { [22:34:16.364] computeRestarts <- base::computeRestarts [22:34:16.364] grepl <- base::grepl [22:34:16.364] restarts <- computeRestarts(cond) [22:34:16.364] for (restart in restarts) { [22:34:16.364] name <- restart$name [22:34:16.364] if (is.null(name)) [22:34:16.364] next [22:34:16.364] if (!grepl(pattern, name)) [22:34:16.364] next [22:34:16.364] invokeRestart(restart) [22:34:16.364] muffled <- TRUE [22:34:16.364] break [22:34:16.364] } [22:34:16.364] } [22:34:16.364] } [22:34:16.364] invisible(muffled) [22:34:16.364] } [22:34:16.364] muffleCondition(cond, pattern = "^muffle") [22:34:16.364] } [22:34:16.364] } [22:34:16.364] else { [22:34:16.364] if (TRUE) { [22:34:16.364] muffleCondition <- function (cond, pattern = "^muffle") [22:34:16.364] { [22:34:16.364] inherits <- base::inherits [22:34:16.364] invokeRestart <- base::invokeRestart [22:34:16.364] is.null <- base::is.null [22:34:16.364] muffled <- FALSE [22:34:16.364] if (inherits(cond, "message")) { [22:34:16.364] muffled <- grepl(pattern, "muffleMessage") [22:34:16.364] if (muffled) [22:34:16.364] invokeRestart("muffleMessage") [22:34:16.364] } [22:34:16.364] else if (inherits(cond, "warning")) { [22:34:16.364] muffled <- grepl(pattern, "muffleWarning") [22:34:16.364] if (muffled) [22:34:16.364] invokeRestart("muffleWarning") [22:34:16.364] } [22:34:16.364] else if (inherits(cond, "condition")) { [22:34:16.364] if (!is.null(pattern)) { [22:34:16.364] computeRestarts <- base::computeRestarts [22:34:16.364] grepl <- base::grepl [22:34:16.364] restarts <- computeRestarts(cond) [22:34:16.364] for (restart in restarts) { [22:34:16.364] name <- restart$name [22:34:16.364] if (is.null(name)) [22:34:16.364] next [22:34:16.364] if (!grepl(pattern, name)) [22:34:16.364] next [22:34:16.364] invokeRestart(restart) [22:34:16.364] muffled <- TRUE [22:34:16.364] break [22:34:16.364] } [22:34:16.364] } [22:34:16.364] } [22:34:16.364] invisible(muffled) [22:34:16.364] } [22:34:16.364] muffleCondition(cond, pattern = "^muffle") [22:34:16.364] } [22:34:16.364] } [22:34:16.364] } [22:34:16.364] })) [22:34:16.364] }, error = function(ex) { [22:34:16.364] base::structure(base::list(value = NULL, visible = NULL, [22:34:16.364] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [22:34:16.364] ...future.rng), started = ...future.startTime, [22:34:16.364] finished = Sys.time(), session_uuid = NA_character_, [22:34:16.364] version = "1.8"), class = "FutureResult") [22:34:16.364] }, finally = { [22:34:16.364] if (!identical(...future.workdir, getwd())) [22:34:16.364] setwd(...future.workdir) [22:34:16.364] { [22:34:16.364] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [22:34:16.364] ...future.oldOptions$nwarnings <- NULL [22:34:16.364] } [22:34:16.364] base::options(...future.oldOptions) [22:34:16.364] if (.Platform$OS.type == "windows") { [22:34:16.364] old_names <- names(...future.oldEnvVars) [22:34:16.364] envs <- base::Sys.getenv() [22:34:16.364] names <- names(envs) [22:34:16.364] common <- intersect(names, old_names) [22:34:16.364] added <- setdiff(names, old_names) [22:34:16.364] removed <- setdiff(old_names, names) [22:34:16.364] changed <- common[...future.oldEnvVars[common] != [22:34:16.364] envs[common]] [22:34:16.364] NAMES <- toupper(changed) [22:34:16.364] args <- list() [22:34:16.364] for (kk in seq_along(NAMES)) { [22:34:16.364] name <- changed[[kk]] [22:34:16.364] NAME <- NAMES[[kk]] [22:34:16.364] if (name != NAME && is.element(NAME, old_names)) [22:34:16.364] next [22:34:16.364] args[[name]] <- ...future.oldEnvVars[[name]] [22:34:16.364] } [22:34:16.364] NAMES <- toupper(added) [22:34:16.364] for (kk in seq_along(NAMES)) { [22:34:16.364] name <- added[[kk]] [22:34:16.364] NAME <- NAMES[[kk]] [22:34:16.364] if (name != NAME && is.element(NAME, old_names)) [22:34:16.364] next [22:34:16.364] args[[name]] <- "" [22:34:16.364] } [22:34:16.364] NAMES <- toupper(removed) [22:34:16.364] for (kk in seq_along(NAMES)) { [22:34:16.364] name <- removed[[kk]] [22:34:16.364] NAME <- NAMES[[kk]] [22:34:16.364] if (name != NAME && is.element(NAME, old_names)) [22:34:16.364] next [22:34:16.364] args[[name]] <- ...future.oldEnvVars[[name]] [22:34:16.364] } [22:34:16.364] if (length(args) > 0) [22:34:16.364] base::do.call(base::Sys.setenv, args = args) [22:34:16.364] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [22:34:16.364] } [22:34:16.364] else { [22:34:16.364] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [22:34:16.364] } [22:34:16.364] { [22:34:16.364] if (base::length(...future.futureOptionsAdded) > [22:34:16.364] 0L) { [22:34:16.364] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [22:34:16.364] base::names(opts) <- ...future.futureOptionsAdded [22:34:16.364] base::options(opts) [22:34:16.364] } [22:34:16.364] { [22:34:16.364] NULL [22:34:16.364] options(future.plan = NULL) [22:34:16.364] if (is.na(NA_character_)) [22:34:16.364] Sys.unsetenv("R_FUTURE_PLAN") [22:34:16.364] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [22:34:16.364] future::plan(...future.strategy.old, .cleanup = FALSE, [22:34:16.364] .init = FALSE) [22:34:16.364] } [22:34:16.364] } [22:34:16.364] } [22:34:16.364] }) [22:34:16.364] if (TRUE) { [22:34:16.364] base::sink(type = "output", split = FALSE) [22:34:16.364] if (TRUE) { [22:34:16.364] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [22:34:16.364] } [22:34:16.364] else { [22:34:16.364] ...future.result["stdout"] <- base::list(NULL) [22:34:16.364] } [22:34:16.364] base::close(...future.stdout) [22:34:16.364] ...future.stdout <- NULL [22:34:16.364] } [22:34:16.364] ...future.result$conditions <- ...future.conditions [22:34:16.364] ...future.result$finished <- base::Sys.time() [22:34:16.364] ...future.result [22:34:16.364] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in ‘tests/dotdotdot.R’ failed. Complete output: > source("incl/start.R") Loading required package: future [22:34:17.127] plan(): Setting new future strategy stack: [22:34:17.127] List of future strategies: [22:34:17.127] 1. mirai_multisession: [22:34:17.127] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [22:34:17.127] - tweaked: FALSE [22:34:17.127] - call: future::plan(future.mirai::mirai_multisession) [22:34:17.154] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [22:34:17.154] < mirai [$data] > [22:34:17.212] getGlobalsAndPackages() ... [22:34:17.212] Not searching for globals [22:34:17.213] - globals: [0] <none> [22:34:17.213] getGlobalsAndPackages() ... DONE [22:34:17.214] getGlobalsAndPackages() ... [22:34:17.214] [22:34:17.214] - globals: [0] <none> [22:34:17.214] getGlobalsAndPackages() ... DONE [22:34:18.246] Packages needed by the future expression (n = 0): <none> [22:34:18.246] Packages needed by future strategies (n = 0): <none> [22:34:18.248] { [22:34:18.248] { [22:34:18.248] { [22:34:18.248] ...future.startTime <- base::Sys.time() [22:34:18.248] { [22:34:18.248] { [22:34:18.248] { [22:34:18.248] base::local({ [22:34:18.248] has_future <- base::requireNamespace("future", [22:34:18.248] quietly = TRUE) [22:34:18.248] if (has_future) { [22:34:18.248] ns <- base::getNamespace("future") [22:34:18.248] version <- ns[[".package"]][["version"]] [22:34:18.248] if (is.null(version)) [22:34:18.248] version <- utils::packageVersion("future") [22:34:18.248] } [22:34:18.248] else { [22:34:18.248] version <- NULL [22:34:18.248] } [22:34:18.248] if (!has_future || version < "1.8.0") { [22:34:18.248] info <- base::c(r_version = base::gsub("R version ", [22:34:18.248] "", base::R.version$version.string), [22:34:18.248] platform = base::sprintf("%s (%s-bit)", [22:34:18.248] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [22:34:18.248] os = base::paste(base::Sys.info()[base::c("sysname", [22:34:18.248] "release", "version")], collapse = " "), [22:34:18.248] hostname = base::Sys.info()[["nodename"]]) [22:34:18.248] info <- base::sprintf("%s: %s", base::names(info), [22:34:18.248] info) [22:34:18.248] info <- base::paste(info, collapse = "; ") [22:34:18.248] if (!has_future) { [22:34:18.248] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [22:34:18.248] info) [22:34:18.248] } [22:34:18.248] else { [22:34:18.248] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [22:34:18.248] info, version) [22:34:18.248] } [22:34:18.248] base::stop(msg) [22:34:18.248] } [22:34:18.248] }) [22:34:18.248] } [22:34:18.248] ...future.strategy.old <- future::plan("list") [22:34:18.248] options(future.plan = NULL) [22:34:18.248] Sys.unsetenv("R_FUTURE_PLAN") [22:34:18.248] future::plan("default", .cleanup = FALSE, .init = FALSE) [22:34:18.248] } [22:34:18.248] ...future.workdir <- getwd() [22:34:18.248] } [22:34:18.248] ...future.oldOptions <- base::as.list(base::.Options) [22:34:18.248] ...future.oldEnvVars <- base::Sys.getenv() [22:34:18.248] } [22:34:18.248] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [22:34:18.248] future.globals.maxSize = NULL, future.globals.method = NULL, [22:34:18.248] future.globals.onMissing = NULL, future.globals.onReference = NULL, [22:34:18.248] future.globals.resolve = NULL, future.resolve.recursive = NULL, [22:34:18.248] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [22:34:18.248] future.stdout.windows.reencode = NULL, width = 80L) [22:34:18.248] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [22:34:18.248] base::names(...future.oldOptions)) [22:34:18.248] } [22:34:18.248] if (FALSE) { [22:34:18.248] } [22:34:18.248] else { [22:34:18.248] if (TRUE) { [22:34:18.248] ...future.stdout <- base::rawConnection(base::raw(0L), [22:34:18.248] open = "w") [22:34:18.248] } [22:34:18.248] else { [22:34:18.248] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [22:34:18.248] windows = "NUL", "/dev/null"), open = "w") [22:34:18.248] } [22:34:18.248] base::sink(...future.stdout, type = "output", split = FALSE) [22:34:18.248] base::on.exit(if (!base::is.null(...future.stdout)) { [22:34:18.248] base::sink(type = "output", split = FALSE) [22:34:18.248] base::close(...future.stdout) [22:34:18.248] }, add = TRUE) [22:34:18.248] } [22:34:18.248] ...future.frame <- base::sys.nframe() [22:34:18.248] ...future.conditions <- base::list() [22:34:18.248] ...future.rng <- base::globalenv()$.Random.seed [22:34:18.248] if (FALSE) { [22:34:18.248] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [22:34:18.248] "...future.value", "...future.globalenv.names", ".Random.seed") [22:34:18.248] } [22:34:18.248] ...future.result <- base::tryCatch({ [22:34:18.248] base::withCallingHandlers({ [22:34:18.248] ...future.value <- base::withVisible(base::local(NA)) [22:34:18.248] future::FutureResult(value = ...future.value$value, [22:34:18.248] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [22:34:18.248] ...future.rng), globalenv = if (FALSE) [22:34:18.248] list(added = base::setdiff(base::names(base::.GlobalEnv), [22:34:18.248] ...future.globalenv.names)) [22:34:18.248] else NULL, started = ...future.startTime, version = "1.8") [22:34:18.248] }, condition = base::local({ [22:34:18.248] c <- base::c [22:34:18.248] inherits <- base::inherits [22:34:18.248] invokeRestart <- base::invokeRestart [22:34:18.248] length <- base::length [22:34:18.248] list <- base::list [22:34:18.248] seq.int <- base::seq.int [22:34:18.248] signalCondition <- base::signalCondition [22:34:18.248] sys.calls <- base::sys.calls [22:34:18.248] `[[` <- base::`[[` [22:34:18.248] `+` <- base::`+` [22:34:18.248] `<<-` <- base::`<<-` [22:34:18.248] sysCalls <- function(calls = sys.calls(), from = 1L) { [22:34:18.248] calls[seq.int(from = from + 12L, to = length(calls) - [22:34:18.248] 3L)] [22:34:18.248] } [22:34:18.248] function(cond) { [22:34:18.248] is_error <- inherits(cond, "error") [22:34:18.248] ignore <- !is_error && !is.null(NULL) && inherits(cond, [22:34:18.248] NULL) [22:34:18.248] if (is_error) { [22:34:18.248] sessionInformation <- function() { [22:34:18.248] list(r = base::R.Version(), locale = base::Sys.getlocale(), [22:34:18.248] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [22:34:18.248] search = base::search(), system = base::Sys.info()) [22:34:18.248] } [22:34:18.248] ...future.conditions[[length(...future.conditions) + [22:34:18.248] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [22:34:18.248] cond$call), session = sessionInformation(), [22:34:18.248] timestamp = base::Sys.time(), signaled = 0L) [22:34:18.248] signalCondition(cond) [22:34:18.248] } [22:34:18.248] else if (!ignore && TRUE && inherits(cond, "condition")) { [22:34:18.248] signal <- FALSE && inherits(cond, character(0)) [22:34:18.248] ...future.conditions[[length(...future.conditions) + [22:34:18.248] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [22:34:18.248] if (FALSE && !signal) { [22:34:18.248] muffleCondition <- function (cond, pattern = "^muffle") [22:34:18.248] { [22:34:18.248] inherits <- base::inherits [22:34:18.248] invokeRestart <- base::invokeRestart [22:34:18.248] is.null <- base::is.null [22:34:18.248] muffled <- FALSE [22:34:18.248] if (inherits(cond, "message")) { [22:34:18.248] muffled <- grepl(pattern, "muffleMessage") [22:34:18.248] if (muffled) [22:34:18.248] invokeRestart("muffleMessage") [22:34:18.248] } [22:34:18.248] else if (inherits(cond, "warning")) { [22:34:18.248] muffled <- grepl(pattern, "muffleWarning") [22:34:18.248] if (muffled) [22:34:18.248] invokeRestart("muffleWarning") [22:34:18.248] } [22:34:18.248] else if (inherits(cond, "condition")) { [22:34:18.248] if (!is.null(pattern)) { [22:34:18.248] computeRestarts <- base::computeRestarts [22:34:18.248] grepl <- base::grepl [22:34:18.248] restarts <- computeRestarts(cond) [22:34:18.248] for (restart in restarts) { [22:34:18.248] name <- restart$name [22:34:18.248] if (is.null(name)) [22:34:18.248] next [22:34:18.248] if (!grepl(pattern, name)) [22:34:18.248] next [22:34:18.248] invokeRestart(restart) [22:34:18.248] muffled <- TRUE [22:34:18.248] break [22:34:18.248] } [22:34:18.248] } [22:34:18.248] } [22:34:18.248] invisible(muffled) [22:34:18.248] } [22:34:18.248] muffleCondition(cond, pattern = "^muffle") [22:34:18.248] } [22:34:18.248] } [22:34:18.248] else { [22:34:18.248] if (TRUE) { [22:34:18.248] muffleCondition <- function (cond, pattern = "^muffle") [22:34:18.248] { [22:34:18.248] inherits <- base::inherits [22:34:18.248] invokeRestart <- base::invokeRestart [22:34:18.248] is.null <- base::is.null [22:34:18.248] muffled <- FALSE [22:34:18.248] if (inherits(cond, "message")) { [22:34:18.248] muffled <- grepl(pattern, "muffleMessage") [22:34:18.248] if (muffled) [22:34:18.248] invokeRestart("muffleMessage") [22:34:18.248] } [22:34:18.248] else if (inherits(cond, "warning")) { [22:34:18.248] muffled <- grepl(pattern, "muffleWarning") [22:34:18.248] if (muffled) [22:34:18.248] invokeRestart("muffleWarning") [22:34:18.248] } [22:34:18.248] else if (inherits(cond, "condition")) { [22:34:18.248] if (!is.null(pattern)) { [22:34:18.248] computeRestarts <- base::computeRestarts [22:34:18.248] grepl <- base::grepl [22:34:18.248] restarts <- computeRestarts(cond) [22:34:18.248] for (restart in restarts) { [22:34:18.248] name <- restart$name [22:34:18.248] if (is.null(name)) [22:34:18.248] next [22:34:18.248] if (!grepl(pattern, name)) [22:34:18.248] next [22:34:18.248] invokeRestart(restart) [22:34:18.248] muffled <- TRUE [22:34:18.248] break [22:34:18.248] } [22:34:18.248] } [22:34:18.248] } [22:34:18.248] invisible(muffled) [22:34:18.248] } [22:34:18.248] muffleCondition(cond, pattern = "^muffle") [22:34:18.248] } [22:34:18.248] } [22:34:18.248] } [22:34:18.248] })) [22:34:18.248] }, error = function(ex) { [22:34:18.248] base::structure(base::list(value = NULL, visible = NULL, [22:34:18.248] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [22:34:18.248] ...future.rng), started = ...future.startTime, [22:34:18.248] finished = Sys.time(), session_uuid = NA_character_, [22:34:18.248] version = "1.8"), class = "FutureResult") [22:34:18.248] }, finally = { [22:34:18.248] if (!identical(...future.workdir, getwd())) [22:34:18.248] setwd(...future.workdir) [22:34:18.248] { [22:34:18.248] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [22:34:18.248] ...future.oldOptions$nwarnings <- NULL [22:34:18.248] } [22:34:18.248] base::options(...future.oldOptions) [22:34:18.248] if (.Platform$OS.type == "windows") { [22:34:18.248] old_names <- names(...future.oldEnvVars) [22:34:18.248] envs <- base::Sys.getenv() [22:34:18.248] names <- names(envs) [22:34:18.248] common <- intersect(names, old_names) [22:34:18.248] added <- setdiff(names, old_names) [22:34:18.248] removed <- setdiff(old_names, names) [22:34:18.248] changed <- common[...future.oldEnvVars[common] != [22:34:18.248] envs[common]] [22:34:18.248] NAMES <- toupper(changed) [22:34:18.248] args <- list() [22:34:18.248] for (kk in seq_along(NAMES)) { [22:34:18.248] name <- changed[[kk]] [22:34:18.248] NAME <- NAMES[[kk]] [22:34:18.248] if (name != NAME && is.element(NAME, old_names)) [22:34:18.248] next [22:34:18.248] args[[name]] <- ...future.oldEnvVars[[name]] [22:34:18.248] } [22:34:18.248] NAMES <- toupper(added) [22:34:18.248] for (kk in seq_along(NAMES)) { [22:34:18.248] name <- added[[kk]] [22:34:18.248] NAME <- NAMES[[kk]] [22:34:18.248] if (name != NAME && is.element(NAME, old_names)) [22:34:18.248] next [22:34:18.248] args[[name]] <- "" [22:34:18.248] } [22:34:18.248] NAMES <- toupper(removed) [22:34:18.248] for (kk in seq_along(NAMES)) { [22:34:18.248] name <- removed[[kk]] [22:34:18.248] NAME <- NAMES[[kk]] [22:34:18.248] if (name != NAME && is.element(NAME, old_names)) [22:34:18.248] next [22:34:18.248] args[[name]] <- ...future.oldEnvVars[[name]] [22:34:18.248] } [22:34:18.248] if (length(args) > 0) [22:34:18.248] base::do.call(base::Sys.setenv, args = args) [22:34:18.248] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [22:34:18.248] } [22:34:18.248] else { [22:34:18.248] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [22:34:18.248] } [22:34:18.248] { [22:34:18.248] if (base::length(...future.futureOptionsAdded) > [22:34:18.248] 0L) { [22:34:18.248] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [22:34:18.248] base::names(opts) <- ...future.futureOptionsAdded [22:34:18.248] base::options(opts) [22:34:18.248] } [22:34:18.248] { [22:34:18.248] NULL [22:34:18.248] options(future.plan = NULL) [22:34:18.248] if (is.na(NA_character_)) [22:34:18.248] Sys.unsetenv("R_FUTURE_PLAN") [22:34:18.248] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [22:34:18.248] future::plan(...future.strategy.old, .cleanup = FALSE, [22:34:18.248] .init = FALSE) [22:34:18.248] } [22:34:18.248] } [22:34:18.248] } [22:34:18.248] }) [22:34:18.248] if (TRUE) { [22:34:18.248] base::sink(type = "output", split = FALSE) [22:34:18.248] if (TRUE) { [22:34:18.248] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [22:34:18.248] } [22:34:18.248] else { [22:34:18.248] ...future.result["stdout"] <- base::list(NULL) [22:34:18.248] } [22:34:18.248] base::close(...future.stdout) [22:34:18.248] ...future.stdout <- NULL [22:34:18.248] } [22:34:18.248] ...future.result$conditions <- ...future.conditions [22:34:18.248] ...future.result$finished <- base::Sys.time() [22:34:18.248] ...future.result [22:34:18.248] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in ‘tests/future,labels.R’ failed. Complete output: > source("incl/start.R") Loading required package: future [22:34:18.994] plan(): Setting new future strategy stack: [22:34:18.995] List of future strategies: [22:34:18.995] 1. mirai_multisession: [22:34:18.995] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [22:34:18.995] - tweaked: FALSE [22:34:18.995] - call: future::plan(future.mirai::mirai_multisession) [22:34:19.020] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [22:34:19.021] < mirai [$data] > [22:34:19.067] getGlobalsAndPackages() ... [22:34:19.068] Not searching for globals [22:34:19.068] - globals: [0] <none> [22:34:19.068] getGlobalsAndPackages() ... DONE [22:34:19.069] getGlobalsAndPackages() ... [22:34:19.069] [22:34:19.070] - globals: [0] <none> [22:34:19.070] getGlobalsAndPackages() ... DONE [22:34:20.313] Packages needed by the future expression (n = 0): <none> [22:34:20.313] Packages needed by future strategies (n = 0): <none> [22:34:20.315] { [22:34:20.315] { [22:34:20.315] { [22:34:20.315] ...future.startTime <- base::Sys.time() [22:34:20.315] { [22:34:20.315] { [22:34:20.315] { [22:34:20.315] base::local({ [22:34:20.315] has_future <- base::requireNamespace("future", [22:34:20.315] quietly = TRUE) [22:34:20.315] if (has_future) { [22:34:20.315] ns <- base::getNamespace("future") [22:34:20.315] version <- ns[[".package"]][["version"]] [22:34:20.315] if (is.null(version)) [22:34:20.315] version <- utils::packageVersion("future") [22:34:20.315] } [22:34:20.315] else { [22:34:20.315] version <- NULL [22:34:20.315] } [22:34:20.315] if (!has_future || version < "1.8.0") { [22:34:20.315] info <- base::c(r_version = base::gsub("R version ", [22:34:20.315] "", base::R.version$version.string), [22:34:20.315] platform = base::sprintf("%s (%s-bit)", [22:34:20.315] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [22:34:20.315] os = base::paste(base::Sys.info()[base::c("sysname", [22:34:20.315] "release", "version")], collapse = " "), [22:34:20.315] hostname = base::Sys.info()[["nodename"]]) [22:34:20.315] info <- base::sprintf("%s: %s", base::names(info), [22:34:20.315] info) [22:34:20.315] info <- base::paste(info, collapse = "; ") [22:34:20.315] if (!has_future) { [22:34:20.315] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [22:34:20.315] info) [22:34:20.315] } [22:34:20.315] else { [22:34:20.315] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [22:34:20.315] info, version) [22:34:20.315] } [22:34:20.315] base::stop(msg) [22:34:20.315] } [22:34:20.315] }) [22:34:20.315] } [22:34:20.315] ...future.strategy.old <- future::plan("list") [22:34:20.315] options(future.plan = NULL) [22:34:20.315] Sys.unsetenv("R_FUTURE_PLAN") [22:34:20.315] future::plan("default", .cleanup = FALSE, .init = FALSE) [22:34:20.315] } [22:34:20.315] ...future.workdir <- getwd() [22:34:20.315] } [22:34:20.315] ...future.oldOptions <- base::as.list(base::.Options) [22:34:20.315] ...future.oldEnvVars <- base::Sys.getenv() [22:34:20.315] } [22:34:20.315] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [22:34:20.315] future.globals.maxSize = NULL, future.globals.method = NULL, [22:34:20.315] future.globals.onMissing = NULL, future.globals.onReference = NULL, [22:34:20.315] future.globals.resolve = NULL, future.resolve.recursive = NULL, [22:34:20.315] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [22:34:20.315] future.stdout.windows.reencode = NULL, width = 80L) [22:34:20.315] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [22:34:20.315] base::names(...future.oldOptions)) [22:34:20.315] } [22:34:20.315] if (FALSE) { [22:34:20.315] } [22:34:20.315] else { [22:34:20.315] if (TRUE) { [22:34:20.315] ...future.stdout <- base::rawConnection(base::raw(0L), [22:34:20.315] open = "w") [22:34:20.315] } [22:34:20.315] else { [22:34:20.315] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [22:34:20.315] windows = "NUL", "/dev/null"), open = "w") [22:34:20.315] } [22:34:20.315] base::sink(...future.stdout, type = "output", split = FALSE) [22:34:20.315] base::on.exit(if (!base::is.null(...future.stdout)) { [22:34:20.315] base::sink(type = "output", split = FALSE) [22:34:20.315] base::close(...future.stdout) [22:34:20.315] }, add = TRUE) [22:34:20.315] } [22:34:20.315] ...future.frame <- base::sys.nframe() [22:34:20.315] ...future.conditions <- base::list() [22:34:20.315] ...future.rng <- base::globalenv()$.Random.seed [22:34:20.315] if (FALSE) { [22:34:20.315] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [22:34:20.315] "...future.value", "...future.globalenv.names", ".Random.seed") [22:34:20.315] } [22:34:20.315] ...future.result <- base::tryCatch({ [22:34:20.315] base::withCallingHandlers({ [22:34:20.315] ...future.value <- base::withVisible(base::local(NA)) [22:34:20.315] future::FutureResult(value = ...future.value$value, [22:34:20.315] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [22:34:20.315] ...future.rng), globalenv = if (FALSE) [22:34:20.315] list(added = base::setdiff(base::names(base::.GlobalEnv), [22:34:20.315] ...future.globalenv.names)) [22:34:20.315] else NULL, started = ...future.startTime, version = "1.8") [22:34:20.315] }, condition = base::local({ [22:34:20.315] c <- base::c [22:34:20.315] inherits <- base::inherits [22:34:20.315] invokeRestart <- base::invokeRestart [22:34:20.315] length <- base::length [22:34:20.315] list <- base::list [22:34:20.315] seq.int <- base::seq.int [22:34:20.315] signalCondition <- base::signalCondition [22:34:20.315] sys.calls <- base::sys.calls [22:34:20.315] `[[` <- base::`[[` [22:34:20.315] `+` <- base::`+` [22:34:20.315] `<<-` <- base::`<<-` [22:34:20.315] sysCalls <- function(calls = sys.calls(), from = 1L) { [22:34:20.315] calls[seq.int(from = from + 12L, to = length(calls) - [22:34:20.315] 3L)] [22:34:20.315] } [22:34:20.315] function(cond) { [22:34:20.315] is_error <- inherits(cond, "error") [22:34:20.315] ignore <- !is_error && !is.null(NULL) && inherits(cond, [22:34:20.315] NULL) [22:34:20.315] if (is_error) { [22:34:20.315] sessionInformation <- function() { [22:34:20.315] list(r = base::R.Version(), locale = base::Sys.getlocale(), [22:34:20.315] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [22:34:20.315] search = base::search(), system = base::Sys.info()) [22:34:20.315] } [22:34:20.315] ...future.conditions[[length(...future.conditions) + [22:34:20.315] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [22:34:20.315] cond$call), session = sessionInformation(), [22:34:20.315] timestamp = base::Sys.time(), signaled = 0L) [22:34:20.315] signalCondition(cond) [22:34:20.315] } [22:34:20.315] else if (!ignore && TRUE && inherits(cond, "condition")) { [22:34:20.315] signal <- FALSE && inherits(cond, character(0)) [22:34:20.315] ...future.conditions[[length(...future.conditions) + [22:34:20.315] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [22:34:20.315] if (FALSE && !signal) { [22:34:20.315] muffleCondition <- function (cond, pattern = "^muffle") [22:34:20.315] { [22:34:20.315] inherits <- base::inherits [22:34:20.315] invokeRestart <- base::invokeRestart [22:34:20.315] is.null <- base::is.null [22:34:20.315] muffled <- FALSE [22:34:20.315] if (inherits(cond, "message")) { [22:34:20.315] muffled <- grepl(pattern, "muffleMessage") [22:34:20.315] if (muffled) [22:34:20.315] invokeRestart("muffleMessage") [22:34:20.315] } [22:34:20.315] else if (inherits(cond, "warning")) { [22:34:20.315] muffled <- grepl(pattern, "muffleWarning") [22:34:20.315] if (muffled) [22:34:20.315] invokeRestart("muffleWarning") [22:34:20.315] } [22:34:20.315] else if (inherits(cond, "condition")) { [22:34:20.315] if (!is.null(pattern)) { [22:34:20.315] computeRestarts <- base::computeRestarts [22:34:20.315] grepl <- base::grepl [22:34:20.315] restarts <- computeRestarts(cond) [22:34:20.315] for (restart in restarts) { [22:34:20.315] name <- restart$name [22:34:20.315] if (is.null(name)) [22:34:20.315] next [22:34:20.315] if (!grepl(pattern, name)) [22:34:20.315] next [22:34:20.315] invokeRestart(restart) [22:34:20.315] muffled <- TRUE [22:34:20.315] break [22:34:20.315] } [22:34:20.315] } [22:34:20.315] } [22:34:20.315] invisible(muffled) [22:34:20.315] } [22:34:20.315] muffleCondition(cond, pattern = "^muffle") [22:34:20.315] } [22:34:20.315] } [22:34:20.315] else { [22:34:20.315] if (TRUE) { [22:34:20.315] muffleCondition <- function (cond, pattern = "^muffle") [22:34:20.315] { [22:34:20.315] inherits <- base::inherits [22:34:20.315] invokeRestart <- base::invokeRestart [22:34:20.315] is.null <- base::is.null [22:34:20.315] muffled <- FALSE [22:34:20.315] if (inherits(cond, "message")) { [22:34:20.315] muffled <- grepl(pattern, "muffleMessage") [22:34:20.315] if (muffled) [22:34:20.315] invokeRestart("muffleMessage") [22:34:20.315] } [22:34:20.315] else if (inherits(cond, "warning")) { [22:34:20.315] muffled <- grepl(pattern, "muffleWarning") [22:34:20.315] if (muffled) [22:34:20.315] invokeRestart("muffleWarning") [22:34:20.315] } [22:34:20.315] else if (inherits(cond, "condition")) { [22:34:20.315] if (!is.null(pattern)) { [22:34:20.315] computeRestarts <- base::computeRestarts [22:34:20.315] grepl <- base::grepl [22:34:20.315] restarts <- computeRestarts(cond) [22:34:20.315] for (restart in restarts) { [22:34:20.315] name <- restart$name [22:34:20.315] if (is.null(name)) [22:34:20.315] next [22:34:20.315] if (!grepl(pattern, name)) [22:34:20.315] next [22:34:20.315] invokeRestart(restart) [22:34:20.315] muffled <- TRUE [22:34:20.315] break [22:34:20.315] } [22:34:20.315] } [22:34:20.315] } [22:34:20.315] invisible(muffled) [22:34:20.315] } [22:34:20.315] muffleCondition(cond, pattern = "^muffle") [22:34:20.315] } [22:34:20.315] } [22:34:20.315] } [22:34:20.315] })) [22:34:20.315] }, error = function(ex) { [22:34:20.315] base::structure(base::list(value = NULL, visible = NULL, [22:34:20.315] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [22:34:20.315] ...future.rng), started = ...future.startTime, [22:34:20.315] finished = Sys.time(), session_uuid = NA_character_, [22:34:20.315] version = "1.8"), class = "FutureResult") [22:34:20.315] }, finally = { [22:34:20.315] if (!identical(...future.workdir, getwd())) [22:34:20.315] setwd(...future.workdir) [22:34:20.315] { [22:34:20.315] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [22:34:20.315] ...future.oldOptions$nwarnings <- NULL [22:34:20.315] } [22:34:20.315] base::options(...future.oldOptions) [22:34:20.315] if (.Platform$OS.type == "windows") { [22:34:20.315] old_names <- names(...future.oldEnvVars) [22:34:20.315] envs <- base::Sys.getenv() [22:34:20.315] names <- names(envs) [22:34:20.315] common <- intersect(names, old_names) [22:34:20.315] added <- setdiff(names, old_names) [22:34:20.315] removed <- setdiff(old_names, names) [22:34:20.315] changed <- common[...future.oldEnvVars[common] != [22:34:20.315] envs[common]] [22:34:20.315] NAMES <- toupper(changed) [22:34:20.315] args <- list() [22:34:20.315] for (kk in seq_along(NAMES)) { [22:34:20.315] name <- changed[[kk]] [22:34:20.315] NAME <- NAMES[[kk]] [22:34:20.315] if (name != NAME && is.element(NAME, old_names)) [22:34:20.315] next [22:34:20.315] args[[name]] <- ...future.oldEnvVars[[name]] [22:34:20.315] } [22:34:20.315] NAMES <- toupper(added) [22:34:20.315] for (kk in seq_along(NAMES)) { [22:34:20.315] name <- added[[kk]] [22:34:20.315] NAME <- NAMES[[kk]] [22:34:20.315] if (name != NAME && is.element(NAME, old_names)) [22:34:20.315] next [22:34:20.315] args[[name]] <- "" [22:34:20.315] } [22:34:20.315] NAMES <- toupper(removed) [22:34:20.315] for (kk in seq_along(NAMES)) { [22:34:20.315] name <- removed[[kk]] [22:34:20.315] NAME <- NAMES[[kk]] [22:34:20.315] if (name != NAME && is.element(NAME, old_names)) [22:34:20.315] next [22:34:20.315] args[[name]] <- ...future.oldEnvVars[[name]] [22:34:20.315] } [22:34:20.315] if (length(args) > 0) [22:34:20.315] base::do.call(base::Sys.setenv, args = args) [22:34:20.315] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [22:34:20.315] } [22:34:20.315] else { [22:34:20.315] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [22:34:20.315] } [22:34:20.315] { [22:34:20.315] if (base::length(...future.futureOptionsAdded) > [22:34:20.315] 0L) { [22:34:20.315] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [22:34:20.315] base::names(opts) <- ...future.futureOptionsAdded [22:34:20.315] base::options(opts) [22:34:20.315] } [22:34:20.315] { [22:34:20.315] NULL [22:34:20.315] options(future.plan = NULL) [22:34:20.315] if (is.na(NA_character_)) [22:34:20.315] Sys.unsetenv("R_FUTURE_PLAN") [22:34:20.315] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [22:34:20.315] future::plan(...future.strategy.old, .cleanup = FALSE, [22:34:20.315] .init = FALSE) [22:34:20.315] } [22:34:20.315] } [22:34:20.315] } [22:34:20.315] }) [22:34:20.315] if (TRUE) { [22:34:20.315] base::sink(type = "output", split = FALSE) [22:34:20.315] if (TRUE) { [22:34:20.315] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [22:34:20.315] } [22:34:20.315] else { [22:34:20.315] ...future.result["stdout"] <- base::list(NULL) [22:34:20.315] } [22:34:20.315] base::close(...future.stdout) [22:34:20.315] ...future.stdout <- NULL [22:34:20.315] } [22:34:20.315] ...future.result$conditions <- ...future.conditions [22:34:20.315] ...future.result$finished <- base::Sys.time() [22:34:20.315] ...future.result [22:34:20.315] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in ‘tests/future,lazy.R’ failed. Complete output: > source("incl/start.R") Loading required package: future [22:34:21.328] plan(): Setting new future strategy stack: [22:34:21.329] List of future strategies: [22:34:21.329] 1. mirai_multisession: [22:34:21.329] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [22:34:21.329] - tweaked: FALSE [22:34:21.329] - call: future::plan(future.mirai::mirai_multisession) [22:34:21.368] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [22:34:21.368] < mirai [$data] > [22:34:21.436] getGlobalsAndPackages() ... [22:34:21.436] Not searching for globals [22:34:21.436] - globals: [0] <none> [22:34:21.437] getGlobalsAndPackages() ... DONE [22:34:21.437] getGlobalsAndPackages() ... [22:34:21.438] [22:34:21.438] - globals: [0] <none> [22:34:21.438] getGlobalsAndPackages() ... DONE [22:34:22.541] Packages needed by the future expression (n = 0): <none> [22:34:22.541] Packages needed by future strategies (n = 0): <none> [22:34:22.543] { [22:34:22.543] { [22:34:22.543] { [22:34:22.543] ...future.startTime <- base::Sys.time() [22:34:22.543] { [22:34:22.543] { [22:34:22.543] { [22:34:22.543] base::local({ [22:34:22.543] has_future <- base::requireNamespace("future", [22:34:22.543] quietly = TRUE) [22:34:22.543] if (has_future) { [22:34:22.543] ns <- base::getNamespace("future") [22:34:22.543] version <- ns[[".package"]][["version"]] [22:34:22.543] if (is.null(version)) [22:34:22.543] version <- utils::packageVersion("future") [22:34:22.543] } [22:34:22.543] else { [22:34:22.543] version <- NULL [22:34:22.543] } [22:34:22.543] if (!has_future || version < "1.8.0") { [22:34:22.543] info <- base::c(r_version = base::gsub("R version ", [22:34:22.543] "", base::R.version$version.string), [22:34:22.543] platform = base::sprintf("%s (%s-bit)", [22:34:22.543] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [22:34:22.543] os = base::paste(base::Sys.info()[base::c("sysname", [22:34:22.543] "release", "version")], collapse = " "), [22:34:22.543] hostname = base::Sys.info()[["nodename"]]) [22:34:22.543] info <- base::sprintf("%s: %s", base::names(info), [22:34:22.543] info) [22:34:22.543] info <- base::paste(info, collapse = "; ") [22:34:22.543] if (!has_future) { [22:34:22.543] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [22:34:22.543] info) [22:34:22.543] } [22:34:22.543] else { [22:34:22.543] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [22:34:22.543] info, version) [22:34:22.543] } [22:34:22.543] base::stop(msg) [22:34:22.543] } [22:34:22.543] }) [22:34:22.543] } [22:34:22.543] ...future.strategy.old <- future::plan("list") [22:34:22.543] options(future.plan = NULL) [22:34:22.543] Sys.unsetenv("R_FUTURE_PLAN") [22:34:22.543] future::plan("default", .cleanup = FALSE, .init = FALSE) [22:34:22.543] } [22:34:22.543] ...future.workdir <- getwd() [22:34:22.543] } [22:34:22.543] ...future.oldOptions <- base::as.list(base::.Options) [22:34:22.543] ...future.oldEnvVars <- base::Sys.getenv() [22:34:22.543] } [22:34:22.543] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [22:34:22.543] future.globals.maxSize = NULL, future.globals.method = NULL, [22:34:22.543] future.globals.onMissing = NULL, future.globals.onReference = NULL, [22:34:22.543] future.globals.resolve = NULL, future.resolve.recursive = NULL, [22:34:22.543] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [22:34:22.543] future.stdout.windows.reencode = NULL, width = 80L) [22:34:22.543] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [22:34:22.543] base::names(...future.oldOptions)) [22:34:22.543] } [22:34:22.543] if (FALSE) { [22:34:22.543] } [22:34:22.543] else { [22:34:22.543] if (TRUE) { [22:34:22.543] ...future.stdout <- base::rawConnection(base::raw(0L), [22:34:22.543] open = "w") [22:34:22.543] } [22:34:22.543] else { [22:34:22.543] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [22:34:22.543] windows = "NUL", "/dev/null"), open = "w") [22:34:22.543] } [22:34:22.543] base::sink(...future.stdout, type = "output", split = FALSE) [22:34:22.543] base::on.exit(if (!base::is.null(...future.stdout)) { [22:34:22.543] base::sink(type = "output", split = FALSE) [22:34:22.543] base::close(...future.stdout) [22:34:22.543] }, add = TRUE) [22:34:22.543] } [22:34:22.543] ...future.frame <- base::sys.nframe() [22:34:22.543] ...future.conditions <- base::list() [22:34:22.543] ...future.rng <- base::globalenv()$.Random.seed [22:34:22.543] if (FALSE) { [22:34:22.543] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [22:34:22.543] "...future.value", "...future.globalenv.names", ".Random.seed") [22:34:22.543] } [22:34:22.543] ...future.result <- base::tryCatch({ [22:34:22.543] base::withCallingHandlers({ [22:34:22.543] ...future.value <- base::withVisible(base::local(NA)) [22:34:22.543] future::FutureResult(value = ...future.value$value, [22:34:22.543] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [22:34:22.543] ...future.rng), globalenv = if (FALSE) [22:34:22.543] list(added = base::setdiff(base::names(base::.GlobalEnv), [22:34:22.543] ...future.globalenv.names)) [22:34:22.543] else NULL, started = ...future.startTime, version = "1.8") [22:34:22.543] }, condition = base::local({ [22:34:22.543] c <- base::c [22:34:22.543] inherits <- base::inherits [22:34:22.543] invokeRestart <- base::invokeRestart [22:34:22.543] length <- base::length [22:34:22.543] list <- base::list [22:34:22.543] seq.int <- base::seq.int [22:34:22.543] signalCondition <- base::signalCondition [22:34:22.543] sys.calls <- base::sys.calls [22:34:22.543] `[[` <- base::`[[` [22:34:22.543] `+` <- base::`+` [22:34:22.543] `<<-` <- base::`<<-` [22:34:22.543] sysCalls <- function(calls = sys.calls(), from = 1L) { [22:34:22.543] calls[seq.int(from = from + 12L, to = length(calls) - [22:34:22.543] 3L)] [22:34:22.543] } [22:34:22.543] function(cond) { [22:34:22.543] is_error <- inherits(cond, "error") [22:34:22.543] ignore <- !is_error && !is.null(NULL) && inherits(cond, [22:34:22.543] NULL) [22:34:22.543] if (is_error) { [22:34:22.543] sessionInformation <- function() { [22:34:22.543] list(r = base::R.Version(), locale = base::Sys.getlocale(), [22:34:22.543] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [22:34:22.543] search = base::search(), system = base::Sys.info()) [22:34:22.543] } [22:34:22.543] ...future.conditions[[length(...future.conditions) + [22:34:22.543] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [22:34:22.543] cond$call), session = sessionInformation(), [22:34:22.543] timestamp = base::Sys.time(), signaled = 0L) [22:34:22.543] signalCondition(cond) [22:34:22.543] } [22:34:22.543] else if (!ignore && TRUE && inherits(cond, "condition")) { [22:34:22.543] signal <- FALSE && inherits(cond, character(0)) [22:34:22.543] ...future.conditions[[length(...future.conditions) + [22:34:22.543] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [22:34:22.543] if (FALSE && !signal) { [22:34:22.543] muffleCondition <- function (cond, pattern = "^muffle") [22:34:22.543] { [22:34:22.543] inherits <- base::inherits [22:34:22.543] invokeRestart <- base::invokeRestart [22:34:22.543] is.null <- base::is.null [22:34:22.543] muffled <- FALSE [22:34:22.543] if (inherits(cond, "message")) { [22:34:22.543] muffled <- grepl(pattern, "muffleMessage") [22:34:22.543] if (muffled) [22:34:22.543] invokeRestart("muffleMessage") [22:34:22.543] } [22:34:22.543] else if (inherits(cond, "warning")) { [22:34:22.543] muffled <- grepl(pattern, "muffleWarning") [22:34:22.543] if (muffled) [22:34:22.543] invokeRestart("muffleWarning") [22:34:22.543] } [22:34:22.543] else if (inherits(cond, "condition")) { [22:34:22.543] if (!is.null(pattern)) { [22:34:22.543] computeRestarts <- base::computeRestarts [22:34:22.543] grepl <- base::grepl [22:34:22.543] restarts <- computeRestarts(cond) [22:34:22.543] for (restart in restarts) { [22:34:22.543] name <- restart$name [22:34:22.543] if (is.null(name)) [22:34:22.543] next [22:34:22.543] if (!grepl(pattern, name)) [22:34:22.543] next [22:34:22.543] invokeRestart(restart) [22:34:22.543] muffled <- TRUE [22:34:22.543] break [22:34:22.543] } [22:34:22.543] } [22:34:22.543] } [22:34:22.543] invisible(muffled) [22:34:22.543] } [22:34:22.543] muffleCondition(cond, pattern = "^muffle") [22:34:22.543] } [22:34:22.543] } [22:34:22.543] else { [22:34:22.543] if (TRUE) { [22:34:22.543] muffleCondition <- function (cond, pattern = "^muffle") [22:34:22.543] { [22:34:22.543] inherits <- base::inherits [22:34:22.543] invokeRestart <- base::invokeRestart [22:34:22.543] is.null <- base::is.null [22:34:22.543] muffled <- FALSE [22:34:22.543] if (inherits(cond, "message")) { [22:34:22.543] muffled <- grepl(pattern, "muffleMessage") [22:34:22.543] if (muffled) [22:34:22.543] invokeRestart("muffleMessage") [22:34:22.543] } [22:34:22.543] else if (inherits(cond, "warning")) { [22:34:22.543] muffled <- grepl(pattern, "muffleWarning") [22:34:22.543] if (muffled) [22:34:22.543] invokeRestart("muffleWarning") [22:34:22.543] } [22:34:22.543] else if (inherits(cond, "condition")) { [22:34:22.543] if (!is.null(pattern)) { [22:34:22.543] computeRestarts <- base::computeRestarts [22:34:22.543] grepl <- base::grepl [22:34:22.543] restarts <- computeRestarts(cond) [22:34:22.543] for (restart in restarts) { [22:34:22.543] name <- restart$name [22:34:22.543] if (is.null(name)) [22:34:22.543] next [22:34:22.543] if (!grepl(pattern, name)) [22:34:22.543] next [22:34:22.543] invokeRestart(restart) [22:34:22.543] muffled <- TRUE [22:34:22.543] break [22:34:22.543] } [22:34:22.543] } [22:34:22.543] } [22:34:22.543] invisible(muffled) [22:34:22.543] } [22:34:22.543] muffleCondition(cond, pattern = "^muffle") [22:34:22.543] } [22:34:22.543] } [22:34:22.543] } [22:34:22.543] })) [22:34:22.543] }, error = function(ex) { [22:34:22.543] base::structure(base::list(value = NULL, visible = NULL, [22:34:22.543] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [22:34:22.543] ...future.rng), started = ...future.startTime, [22:34:22.543] finished = Sys.time(), session_uuid = NA_character_, [22:34:22.543] version = "1.8"), class = "FutureResult") [22:34:22.543] }, finally = { [22:34:22.543] if (!identical(...future.workdir, getwd())) [22:34:22.543] setwd(...future.workdir) [22:34:22.543] { [22:34:22.543] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [22:34:22.543] ...future.oldOptions$nwarnings <- NULL [22:34:22.543] } [22:34:22.543] base::options(...future.oldOptions) [22:34:22.543] if (.Platform$OS.type == "windows") { [22:34:22.543] old_names <- names(...future.oldEnvVars) [22:34:22.543] envs <- base::Sys.getenv() [22:34:22.543] names <- names(envs) [22:34:22.543] common <- intersect(names, old_names) [22:34:22.543] added <- setdiff(names, old_names) [22:34:22.543] removed <- setdiff(old_names, names) [22:34:22.543] changed <- common[...future.oldEnvVars[common] != [22:34:22.543] envs[common]] [22:34:22.543] NAMES <- toupper(changed) [22:34:22.543] args <- list() [22:34:22.543] for (kk in seq_along(NAMES)) { [22:34:22.543] name <- changed[[kk]] [22:34:22.543] NAME <- NAMES[[kk]] [22:34:22.543] if (name != NAME && is.element(NAME, old_names)) [22:34:22.543] next [22:34:22.543] args[[name]] <- ...future.oldEnvVars[[name]] [22:34:22.543] } [22:34:22.543] NAMES <- toupper(added) [22:34:22.543] for (kk in seq_along(NAMES)) { [22:34:22.543] name <- added[[kk]] [22:34:22.543] NAME <- NAMES[[kk]] [22:34:22.543] if (name != NAME && is.element(NAME, old_names)) [22:34:22.543] next [22:34:22.543] args[[name]] <- "" [22:34:22.543] } [22:34:22.543] NAMES <- toupper(removed) [22:34:22.543] for (kk in seq_along(NAMES)) { [22:34:22.543] name <- removed[[kk]] [22:34:22.543] NAME <- NAMES[[kk]] [22:34:22.543] if (name != NAME && is.element(NAME, old_names)) [22:34:22.543] next [22:34:22.543] args[[name]] <- ...future.oldEnvVars[[name]] [22:34:22.543] } [22:34:22.543] if (length(args) > 0) [22:34:22.543] base::do.call(base::Sys.setenv, args = args) [22:34:22.543] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [22:34:22.543] } [22:34:22.543] else { [22:34:22.543] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [22:34:22.543] } [22:34:22.543] { [22:34:22.543] if (base::length(...future.futureOptionsAdded) > [22:34:22.543] 0L) { [22:34:22.543] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [22:34:22.543] base::names(opts) <- ...future.futureOptionsAdded [22:34:22.543] base::options(opts) [22:34:22.543] } [22:34:22.543] { [22:34:22.543] NULL [22:34:22.543] options(future.plan = NULL) [22:34:22.543] if (is.na(NA_character_)) [22:34:22.543] Sys.unsetenv("R_FUTURE_PLAN") [22:34:22.543] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [22:34:22.543] future::plan(...future.strategy.old, .cleanup = FALSE, [22:34:22.543] .init = FALSE) [22:34:22.543] } [22:34:22.543] } [22:34:22.543] } [22:34:22.543] }) [22:34:22.543] if (TRUE) { [22:34:22.543] base::sink(type = "output", split = FALSE) [22:34:22.543] if (TRUE) { [22:34:22.543] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [22:34:22.543] } [22:34:22.543] else { [22:34:22.543] ...future.result["stdout"] <- base::list(NULL) [22:34:22.543] } [22:34:22.543] base::close(...future.stdout) [22:34:22.543] ...future.stdout <- NULL [22:34:22.543] } [22:34:22.543] ...future.result$conditions <- ...future.conditions [22:34:22.543] ...future.result$finished <- base::Sys.time() [22:34:22.543] ...future.result [22:34:22.543] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in ‘tests/future.tests-mirai_multisession.R’ failed. Complete output: > if (requireNamespace("future.tests")) { + mirai::daemons(0) ## Reset any daemons running + + future.tests::check("future.mirai::mirai_multisession", timeout = 30.0, exit_value = FALSE) + + mirai::daemons(0) ## Reset any daemons running + gc() + } Loading required namespace: future.tests ── Settings ──────────────────────────────────────────────────────────────────── - future.tests version : 0.7.0 - R_FUTURE_TESTS_ROOT : - Option 'future.tests.root': NULL - Default test set folder : /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/future.tests/test-db - Max number of workers : 2 - Timeout : 30 seconds Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: <Anonymous> ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in ‘tests/globals,formulas.R’ failed. Complete output: > source("incl/start.R") Loading required package: future [22:34:47.796] plan(): Setting new future strategy stack: [22:34:47.796] List of future strategies: [22:34:47.796] 1. mirai_multisession: [22:34:47.796] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [22:34:47.796] - tweaked: FALSE [22:34:47.796] - call: future::plan(future.mirai::mirai_multisession) [22:34:47.820] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [22:34:47.821] < mirai [$data] > [22:34:47.884] getGlobalsAndPackages() ... [22:34:47.884] Not searching for globals [22:34:47.885] - globals: [0] <none> [22:34:47.885] getGlobalsAndPackages() ... DONE [22:34:47.885] getGlobalsAndPackages() ... [22:34:47.886] [22:34:47.886] - globals: [0] <none> [22:34:47.886] getGlobalsAndPackages() ... DONE [22:34:49.055] Packages needed by the future expression (n = 0): <none> [22:34:49.056] Packages needed by future strategies (n = 0): <none> [22:34:49.057] { [22:34:49.057] { [22:34:49.057] { [22:34:49.057] ...future.startTime <- base::Sys.time() [22:34:49.057] { [22:34:49.057] { [22:34:49.057] { [22:34:49.057] base::local({ [22:34:49.057] has_future <- base::requireNamespace("future", [22:34:49.057] quietly = TRUE) [22:34:49.057] if (has_future) { [22:34:49.057] ns <- base::getNamespace("future") [22:34:49.057] version <- ns[[".package"]][["version"]] [22:34:49.057] if (is.null(version)) [22:34:49.057] version <- utils::packageVersion("future") [22:34:49.057] } [22:34:49.057] else { [22:34:49.057] version <- NULL [22:34:49.057] } [22:34:49.057] if (!has_future || version < "1.8.0") { [22:34:49.057] info <- base::c(r_version = base::gsub("R version ", [22:34:49.057] "", base::R.version$version.string), [22:34:49.057] platform = base::sprintf("%s (%s-bit)", [22:34:49.057] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [22:34:49.057] os = base::paste(base::Sys.info()[base::c("sysname", [22:34:49.057] "release", "version")], collapse = " "), [22:34:49.057] hostname = base::Sys.info()[["nodename"]]) [22:34:49.057] info <- base::sprintf("%s: %s", base::names(info), [22:34:49.057] info) [22:34:49.057] info <- base::paste(info, collapse = "; ") [22:34:49.057] if (!has_future) { [22:34:49.057] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [22:34:49.057] info) [22:34:49.057] } [22:34:49.057] else { [22:34:49.057] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [22:34:49.057] info, version) [22:34:49.057] } [22:34:49.057] base::stop(msg) [22:34:49.057] } [22:34:49.057] }) [22:34:49.057] } [22:34:49.057] ...future.strategy.old <- future::plan("list") [22:34:49.057] options(future.plan = NULL) [22:34:49.057] Sys.unsetenv("R_FUTURE_PLAN") [22:34:49.057] future::plan("default", .cleanup = FALSE, .init = FALSE) [22:34:49.057] } [22:34:49.057] ...future.workdir <- getwd() [22:34:49.057] } [22:34:49.057] ...future.oldOptions <- base::as.list(base::.Options) [22:34:49.057] ...future.oldEnvVars <- base::Sys.getenv() [22:34:49.057] } [22:34:49.057] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [22:34:49.057] future.globals.maxSize = NULL, future.globals.method = NULL, [22:34:49.057] future.globals.onMissing = NULL, future.globals.onReference = NULL, [22:34:49.057] future.globals.resolve = NULL, future.resolve.recursive = NULL, [22:34:49.057] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [22:34:49.057] future.stdout.windows.reencode = NULL, width = 80L) [22:34:49.057] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [22:34:49.057] base::names(...future.oldOptions)) [22:34:49.057] } [22:34:49.057] if (FALSE) { [22:34:49.057] } [22:34:49.057] else { [22:34:49.057] if (TRUE) { [22:34:49.057] ...future.stdout <- base::rawConnection(base::raw(0L), [22:34:49.057] open = "w") [22:34:49.057] } [22:34:49.057] else { [22:34:49.057] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [22:34:49.057] windows = "NUL", "/dev/null"), open = "w") [22:34:49.057] } [22:34:49.057] base::sink(...future.stdout, type = "output", split = FALSE) [22:34:49.057] base::on.exit(if (!base::is.null(...future.stdout)) { [22:34:49.057] base::sink(type = "output", split = FALSE) [22:34:49.057] base::close(...future.stdout) [22:34:49.057] }, add = TRUE) [22:34:49.057] } [22:34:49.057] ...future.frame <- base::sys.nframe() [22:34:49.057] ...future.conditions <- base::list() [22:34:49.057] ...future.rng <- base::globalenv()$.Random.seed [22:34:49.057] if (FALSE) { [22:34:49.057] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [22:34:49.057] "...future.value", "...future.globalenv.names", ".Random.seed") [22:34:49.057] } [22:34:49.057] ...future.result <- base::tryCatch({ [22:34:49.057] base::withCallingHandlers({ [22:34:49.057] ...future.value <- base::withVisible(base::local(NA)) [22:34:49.057] future::FutureResult(value = ...future.value$value, [22:34:49.057] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [22:34:49.057] ...future.rng), globalenv = if (FALSE) [22:34:49.057] list(added = base::setdiff(base::names(base::.GlobalEnv), [22:34:49.057] ...future.globalenv.names)) [22:34:49.057] else NULL, started = ...future.startTime, version = "1.8") [22:34:49.057] }, condition = base::local({ [22:34:49.057] c <- base::c [22:34:49.057] inherits <- base::inherits [22:34:49.057] invokeRestart <- base::invokeRestart [22:34:49.057] length <- base::length [22:34:49.057] list <- base::list [22:34:49.057] seq.int <- base::seq.int [22:34:49.057] signalCondition <- base::signalCondition [22:34:49.057] sys.calls <- base::sys.calls [22:34:49.057] `[[` <- base::`[[` [22:34:49.057] `+` <- base::`+` [22:34:49.057] `<<-` <- base::`<<-` [22:34:49.057] sysCalls <- function(calls = sys.calls(), from = 1L) { [22:34:49.057] calls[seq.int(from = from + 12L, to = length(calls) - [22:34:49.057] 3L)] [22:34:49.057] } [22:34:49.057] function(cond) { [22:34:49.057] is_error <- inherits(cond, "error") [22:34:49.057] ignore <- !is_error && !is.null(NULL) && inherits(cond, [22:34:49.057] NULL) [22:34:49.057] if (is_error) { [22:34:49.057] sessionInformation <- function() { [22:34:49.057] list(r = base::R.Version(), locale = base::Sys.getlocale(), [22:34:49.057] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [22:34:49.057] search = base::search(), system = base::Sys.info()) [22:34:49.057] } [22:34:49.057] ...future.conditions[[length(...future.conditions) + [22:34:49.057] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [22:34:49.057] cond$call), session = sessionInformation(), [22:34:49.057] timestamp = base::Sys.time(), signaled = 0L) [22:34:49.057] signalCondition(cond) [22:34:49.057] } [22:34:49.057] else if (!ignore && TRUE && inherits(cond, "condition")) { [22:34:49.057] signal <- FALSE && inherits(cond, character(0)) [22:34:49.057] ...future.conditions[[length(...future.conditions) + [22:34:49.057] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [22:34:49.057] if (FALSE && !signal) { [22:34:49.057] muffleCondition <- function (cond, pattern = "^muffle") [22:34:49.057] { [22:34:49.057] inherits <- base::inherits [22:34:49.057] invokeRestart <- base::invokeRestart [22:34:49.057] is.null <- base::is.null [22:34:49.057] muffled <- FALSE [22:34:49.057] if (inherits(cond, "message")) { [22:34:49.057] muffled <- grepl(pattern, "muffleMessage") [22:34:49.057] if (muffled) [22:34:49.057] invokeRestart("muffleMessage") [22:34:49.057] } [22:34:49.057] else if (inherits(cond, "warning")) { [22:34:49.057] muffled <- grepl(pattern, "muffleWarning") [22:34:49.057] if (muffled) [22:34:49.057] invokeRestart("muffleWarning") [22:34:49.057] } [22:34:49.057] else if (inherits(cond, "condition")) { [22:34:49.057] if (!is.null(pattern)) { [22:34:49.057] computeRestarts <- base::computeRestarts [22:34:49.057] grepl <- base::grepl [22:34:49.057] restarts <- computeRestarts(cond) [22:34:49.057] for (restart in restarts) { [22:34:49.057] name <- restart$name [22:34:49.057] if (is.null(name)) [22:34:49.057] next [22:34:49.057] if (!grepl(pattern, name)) [22:34:49.057] next [22:34:49.057] invokeRestart(restart) [22:34:49.057] muffled <- TRUE [22:34:49.057] break [22:34:49.057] } [22:34:49.057] } [22:34:49.057] } [22:34:49.057] invisible(muffled) [22:34:49.057] } [22:34:49.057] muffleCondition(cond, pattern = "^muffle") [22:34:49.057] } [22:34:49.057] } [22:34:49.057] else { [22:34:49.057] if (TRUE) { [22:34:49.057] muffleCondition <- function (cond, pattern = "^muffle") [22:34:49.057] { [22:34:49.057] inherits <- base::inherits [22:34:49.057] invokeRestart <- base::invokeRestart [22:34:49.057] is.null <- base::is.null [22:34:49.057] muffled <- FALSE [22:34:49.057] if (inherits(cond, "message")) { [22:34:49.057] muffled <- grepl(pattern, "muffleMessage") [22:34:49.057] if (muffled) [22:34:49.057] invokeRestart("muffleMessage") [22:34:49.057] } [22:34:49.057] else if (inherits(cond, "warning")) { [22:34:49.057] muffled <- grepl(pattern, "muffleWarning") [22:34:49.057] if (muffled) [22:34:49.057] invokeRestart("muffleWarning") [22:34:49.057] } [22:34:49.057] else if (inherits(cond, "condition")) { [22:34:49.057] if (!is.null(pattern)) { [22:34:49.057] computeRestarts <- base::computeRestarts [22:34:49.057] grepl <- base::grepl [22:34:49.057] restarts <- computeRestarts(cond) [22:34:49.057] for (restart in restarts) { [22:34:49.057] name <- restart$name [22:34:49.057] if (is.null(name)) [22:34:49.057] next [22:34:49.057] if (!grepl(pattern, name)) [22:34:49.057] next [22:34:49.057] invokeRestart(restart) [22:34:49.057] muffled <- TRUE [22:34:49.057] break [22:34:49.057] } [22:34:49.057] } [22:34:49.057] } [22:34:49.057] invisible(muffled) [22:34:49.057] } [22:34:49.057] muffleCondition(cond, pattern = "^muffle") [22:34:49.057] } [22:34:49.057] } [22:34:49.057] } [22:34:49.057] })) [22:34:49.057] }, error = function(ex) { [22:34:49.057] base::structure(base::list(value = NULL, visible = NULL, [22:34:49.057] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [22:34:49.057] ...future.rng), started = ...future.startTime, [22:34:49.057] finished = Sys.time(), session_uuid = NA_character_, [22:34:49.057] version = "1.8"), class = "FutureResult") [22:34:49.057] }, finally = { [22:34:49.057] if (!identical(...future.workdir, getwd())) [22:34:49.057] setwd(...future.workdir) [22:34:49.057] { [22:34:49.057] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [22:34:49.057] ...future.oldOptions$nwarnings <- NULL [22:34:49.057] } [22:34:49.057] base::options(...future.oldOptions) [22:34:49.057] if (.Platform$OS.type == "windows") { [22:34:49.057] old_names <- names(...future.oldEnvVars) [22:34:49.057] envs <- base::Sys.getenv() [22:34:49.057] names <- names(envs) [22:34:49.057] common <- intersect(names, old_names) [22:34:49.057] added <- setdiff(names, old_names) [22:34:49.057] removed <- setdiff(old_names, names) [22:34:49.057] changed <- common[...future.oldEnvVars[common] != [22:34:49.057] envs[common]] [22:34:49.057] NAMES <- toupper(changed) [22:34:49.057] args <- list() [22:34:49.057] for (kk in seq_along(NAMES)) { [22:34:49.057] name <- changed[[kk]] [22:34:49.057] NAME <- NAMES[[kk]] [22:34:49.057] if (name != NAME && is.element(NAME, old_names)) [22:34:49.057] next [22:34:49.057] args[[name]] <- ...future.oldEnvVars[[name]] [22:34:49.057] } [22:34:49.057] NAMES <- toupper(added) [22:34:49.057] for (kk in seq_along(NAMES)) { [22:34:49.057] name <- added[[kk]] [22:34:49.057] NAME <- NAMES[[kk]] [22:34:49.057] if (name != NAME && is.element(NAME, old_names)) [22:34:49.057] next [22:34:49.057] args[[name]] <- "" [22:34:49.057] } [22:34:49.057] NAMES <- toupper(removed) [22:34:49.057] for (kk in seq_along(NAMES)) { [22:34:49.057] name <- removed[[kk]] [22:34:49.057] NAME <- NAMES[[kk]] [22:34:49.057] if (name != NAME && is.element(NAME, old_names)) [22:34:49.057] next [22:34:49.057] args[[name]] <- ...future.oldEnvVars[[name]] [22:34:49.057] } [22:34:49.057] if (length(args) > 0) [22:34:49.057] base::do.call(base::Sys.setenv, args = args) [22:34:49.057] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [22:34:49.057] } [22:34:49.057] else { [22:34:49.057] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [22:34:49.057] } [22:34:49.057] { [22:34:49.057] if (base::length(...future.futureOptionsAdded) > [22:34:49.057] 0L) { [22:34:49.057] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [22:34:49.057] base::names(opts) <- ...future.futureOptionsAdded [22:34:49.057] base::options(opts) [22:34:49.057] } [22:34:49.057] { [22:34:49.057] NULL [22:34:49.057] options(future.plan = NULL) [22:34:49.057] if (is.na(NA_character_)) [22:34:49.057] Sys.unsetenv("R_FUTURE_PLAN") [22:34:49.057] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [22:34:49.057] future::plan(...future.strategy.old, .cleanup = FALSE, [22:34:49.057] .init = FALSE) [22:34:49.057] } [22:34:49.057] } [22:34:49.057] } [22:34:49.057] }) [22:34:49.057] if (TRUE) { [22:34:49.057] base::sink(type = "output", split = FALSE) [22:34:49.057] if (TRUE) { [22:34:49.057] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [22:34:49.057] } [22:34:49.057] else { [22:34:49.057] ...future.result["stdout"] <- base::list(NULL) [22:34:49.057] } [22:34:49.057] base::close(...future.stdout) [22:34:49.057] ...future.stdout <- NULL [22:34:49.057] } [22:34:49.057] ...future.result$conditions <- ...future.conditions [22:34:49.057] ...future.result$finished <- base::Sys.time() [22:34:49.057] ...future.result [22:34:49.057] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in ‘tests/globals,manual.R’ failed. Complete output: > source("incl/start.R") Loading required package: future [22:34:49.997] plan(): Setting new future strategy stack: [22:34:49.997] List of future strategies: [22:34:49.997] 1. mirai_multisession: [22:34:49.997] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [22:34:49.997] - tweaked: FALSE [22:34:49.997] - call: future::plan(future.mirai::mirai_multisession) [22:34:50.039] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [22:34:50.039] < mirai [$data] > [22:34:50.116] getGlobalsAndPackages() ... [22:34:50.116] Not searching for globals [22:34:50.117] - globals: [0] <none> [22:34:50.117] getGlobalsAndPackages() ... DONE [22:34:50.117] getGlobalsAndPackages() ... [22:34:50.118] [22:34:50.118] - globals: [0] <none> [22:34:50.118] getGlobalsAndPackages() ... DONE [22:34:51.237] Packages needed by the future expression (n = 0): <none> [22:34:51.238] Packages needed by future strategies (n = 0): <none> [22:34:51.239] { [22:34:51.239] { [22:34:51.239] { [22:34:51.239] ...future.startTime <- base::Sys.time() [22:34:51.239] { [22:34:51.239] { [22:34:51.239] { [22:34:51.239] base::local({ [22:34:51.239] has_future <- base::requireNamespace("future", [22:34:51.239] quietly = TRUE) [22:34:51.239] if (has_future) { [22:34:51.239] ns <- base::getNamespace("future") [22:34:51.239] version <- ns[[".package"]][["version"]] [22:34:51.239] if (is.null(version)) [22:34:51.239] version <- utils::packageVersion("future") [22:34:51.239] } [22:34:51.239] else { [22:34:51.239] version <- NULL [22:34:51.239] } [22:34:51.239] if (!has_future || version < "1.8.0") { [22:34:51.239] info <- base::c(r_version = base::gsub("R version ", [22:34:51.239] "", base::R.version$version.string), [22:34:51.239] platform = base::sprintf("%s (%s-bit)", [22:34:51.239] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [22:34:51.239] os = base::paste(base::Sys.info()[base::c("sysname", [22:34:51.239] "release", "version")], collapse = " "), [22:34:51.239] hostname = base::Sys.info()[["nodename"]]) [22:34:51.239] info <- base::sprintf("%s: %s", base::names(info), [22:34:51.239] info) [22:34:51.239] info <- base::paste(info, collapse = "; ") [22:34:51.239] if (!has_future) { [22:34:51.239] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [22:34:51.239] info) [22:34:51.239] } [22:34:51.239] else { [22:34:51.239] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [22:34:51.239] info, version) [22:34:51.239] } [22:34:51.239] base::stop(msg) [22:34:51.239] } [22:34:51.239] }) [22:34:51.239] } [22:34:51.239] ...future.strategy.old <- future::plan("list") [22:34:51.239] options(future.plan = NULL) [22:34:51.239] Sys.unsetenv("R_FUTURE_PLAN") [22:34:51.239] future::plan("default", .cleanup = FALSE, .init = FALSE) [22:34:51.239] } [22:34:51.239] ...future.workdir <- getwd() [22:34:51.239] } [22:34:51.239] ...future.oldOptions <- base::as.list(base::.Options) [22:34:51.239] ...future.oldEnvVars <- base::Sys.getenv() [22:34:51.239] } [22:34:51.239] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [22:34:51.239] future.globals.maxSize = NULL, future.globals.method = NULL, [22:34:51.239] future.globals.onMissing = NULL, future.globals.onReference = NULL, [22:34:51.239] future.globals.resolve = NULL, future.resolve.recursive = NULL, [22:34:51.239] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [22:34:51.239] future.stdout.windows.reencode = NULL, width = 80L) [22:34:51.239] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [22:34:51.239] base::names(...future.oldOptions)) [22:34:51.239] } [22:34:51.239] if (FALSE) { [22:34:51.239] } [22:34:51.239] else { [22:34:51.239] if (TRUE) { [22:34:51.239] ...future.stdout <- base::rawConnection(base::raw(0L), [22:34:51.239] open = "w") [22:34:51.239] } [22:34:51.239] else { [22:34:51.239] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [22:34:51.239] windows = "NUL", "/dev/null"), open = "w") [22:34:51.239] } [22:34:51.239] base::sink(...future.stdout, type = "output", split = FALSE) [22:34:51.239] base::on.exit(if (!base::is.null(...future.stdout)) { [22:34:51.239] base::sink(type = "output", split = FALSE) [22:34:51.239] base::close(...future.stdout) [22:34:51.239] }, add = TRUE) [22:34:51.239] } [22:34:51.239] ...future.frame <- base::sys.nframe() [22:34:51.239] ...future.conditions <- base::list() [22:34:51.239] ...future.rng <- base::globalenv()$.Random.seed [22:34:51.239] if (FALSE) { [22:34:51.239] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [22:34:51.239] "...future.value", "...future.globalenv.names", ".Random.seed") [22:34:51.239] } [22:34:51.239] ...future.result <- base::tryCatch({ [22:34:51.239] base::withCallingHandlers({ [22:34:51.239] ...future.value <- base::withVisible(base::local(NA)) [22:34:51.239] future::FutureResult(value = ...future.value$value, [22:34:51.239] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [22:34:51.239] ...future.rng), globalenv = if (FALSE) [22:34:51.239] list(added = base::setdiff(base::names(base::.GlobalEnv), [22:34:51.239] ...future.globalenv.names)) [22:34:51.239] else NULL, started = ...future.startTime, version = "1.8") [22:34:51.239] }, condition = base::local({ [22:34:51.239] c <- base::c [22:34:51.239] inherits <- base::inherits [22:34:51.239] invokeRestart <- base::invokeRestart [22:34:51.239] length <- base::length [22:34:51.239] list <- base::list [22:34:51.239] seq.int <- base::seq.int [22:34:51.239] signalCondition <- base::signalCondition [22:34:51.239] sys.calls <- base::sys.calls [22:34:51.239] `[[` <- base::`[[` [22:34:51.239] `+` <- base::`+` [22:34:51.239] `<<-` <- base::`<<-` [22:34:51.239] sysCalls <- function(calls = sys.calls(), from = 1L) { [22:34:51.239] calls[seq.int(from = from + 12L, to = length(calls) - [22:34:51.239] 3L)] [22:34:51.239] } [22:34:51.239] function(cond) { [22:34:51.239] is_error <- inherits(cond, "error") [22:34:51.239] ignore <- !is_error && !is.null(NULL) && inherits(cond, [22:34:51.239] NULL) [22:34:51.239] if (is_error) { [22:34:51.239] sessionInformation <- function() { [22:34:51.239] list(r = base::R.Version(), locale = base::Sys.getlocale(), [22:34:51.239] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [22:34:51.239] search = base::search(), system = base::Sys.info()) [22:34:51.239] } [22:34:51.239] ...future.conditions[[length(...future.conditions) + [22:34:51.239] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [22:34:51.239] cond$call), session = sessionInformation(), [22:34:51.239] timestamp = base::Sys.time(), signaled = 0L) [22:34:51.239] signalCondition(cond) [22:34:51.239] } [22:34:51.239] else if (!ignore && TRUE && inherits(cond, "condition")) { [22:34:51.239] signal <- FALSE && inherits(cond, character(0)) [22:34:51.239] ...future.conditions[[length(...future.conditions) + [22:34:51.239] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [22:34:51.239] if (FALSE && !signal) { [22:34:51.239] muffleCondition <- function (cond, pattern = "^muffle") [22:34:51.239] { [22:34:51.239] inherits <- base::inherits [22:34:51.239] invokeRestart <- base::invokeRestart [22:34:51.239] is.null <- base::is.null [22:34:51.239] muffled <- FALSE [22:34:51.239] if (inherits(cond, "message")) { [22:34:51.239] muffled <- grepl(pattern, "muffleMessage") [22:34:51.239] if (muffled) [22:34:51.239] invokeRestart("muffleMessage") [22:34:51.239] } [22:34:51.239] else if (inherits(cond, "warning")) { [22:34:51.239] muffled <- grepl(pattern, "muffleWarning") [22:34:51.239] if (muffled) [22:34:51.239] invokeRestart("muffleWarning") [22:34:51.239] } [22:34:51.239] else if (inherits(cond, "condition")) { [22:34:51.239] if (!is.null(pattern)) { [22:34:51.239] computeRestarts <- base::computeRestarts [22:34:51.239] grepl <- base::grepl [22:34:51.239] restarts <- computeRestarts(cond) [22:34:51.239] for (restart in restarts) { [22:34:51.239] name <- restart$name [22:34:51.239] if (is.null(name)) [22:34:51.239] next [22:34:51.239] if (!grepl(pattern, name)) [22:34:51.239] next [22:34:51.239] invokeRestart(restart) [22:34:51.239] muffled <- TRUE [22:34:51.239] break [22:34:51.239] } [22:34:51.239] } [22:34:51.239] } [22:34:51.239] invisible(muffled) [22:34:51.239] } [22:34:51.239] muffleCondition(cond, pattern = "^muffle") [22:34:51.239] } [22:34:51.239] } [22:34:51.239] else { [22:34:51.239] if (TRUE) { [22:34:51.239] muffleCondition <- function (cond, pattern = "^muffle") [22:34:51.239] { [22:34:51.239] inherits <- base::inherits [22:34:51.239] invokeRestart <- base::invokeRestart [22:34:51.239] is.null <- base::is.null [22:34:51.239] muffled <- FALSE [22:34:51.239] if (inherits(cond, "message")) { [22:34:51.239] muffled <- grepl(pattern, "muffleMessage") [22:34:51.239] if (muffled) [22:34:51.239] invokeRestart("muffleMessage") [22:34:51.239] } [22:34:51.239] else if (inherits(cond, "warning")) { [22:34:51.239] muffled <- grepl(pattern, "muffleWarning") [22:34:51.239] if (muffled) [22:34:51.239] invokeRestart("muffleWarning") [22:34:51.239] } [22:34:51.239] else if (inherits(cond, "condition")) { [22:34:51.239] if (!is.null(pattern)) { [22:34:51.239] computeRestarts <- base::computeRestarts [22:34:51.239] grepl <- base::grepl [22:34:51.239] restarts <- computeRestarts(cond) [22:34:51.239] for (restart in restarts) { [22:34:51.239] name <- restart$name [22:34:51.239] if (is.null(name)) [22:34:51.239] next [22:34:51.239] if (!grepl(pattern, name)) [22:34:51.239] next [22:34:51.239] invokeRestart(restart) [22:34:51.239] muffled <- TRUE [22:34:51.239] break [22:34:51.239] } [22:34:51.239] } [22:34:51.239] } [22:34:51.239] invisible(muffled) [22:34:51.239] } [22:34:51.239] muffleCondition(cond, pattern = "^muffle") [22:34:51.239] } [22:34:51.239] } [22:34:51.239] } [22:34:51.239] })) [22:34:51.239] }, error = function(ex) { [22:34:51.239] base::structure(base::list(value = NULL, visible = NULL, [22:34:51.239] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [22:34:51.239] ...future.rng), started = ...future.startTime, [22:34:51.239] finished = Sys.time(), session_uuid = NA_character_, [22:34:51.239] version = "1.8"), class = "FutureResult") [22:34:51.239] }, finally = { [22:34:51.239] if (!identical(...future.workdir, getwd())) [22:34:51.239] setwd(...future.workdir) [22:34:51.239] { [22:34:51.239] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [22:34:51.239] ...future.oldOptions$nwarnings <- NULL [22:34:51.239] } [22:34:51.239] base::options(...future.oldOptions) [22:34:51.239] if (.Platform$OS.type == "windows") { [22:34:51.239] old_names <- names(...future.oldEnvVars) [22:34:51.239] envs <- base::Sys.getenv() [22:34:51.239] names <- names(envs) [22:34:51.239] common <- intersect(names, old_names) [22:34:51.239] added <- setdiff(names, old_names) [22:34:51.239] removed <- setdiff(old_names, names) [22:34:51.239] changed <- common[...future.oldEnvVars[common] != [22:34:51.239] envs[common]] [22:34:51.239] NAMES <- toupper(changed) [22:34:51.239] args <- list() [22:34:51.239] for (kk in seq_along(NAMES)) { [22:34:51.239] name <- changed[[kk]] [22:34:51.239] NAME <- NAMES[[kk]] [22:34:51.239] if (name != NAME && is.element(NAME, old_names)) [22:34:51.239] next [22:34:51.239] args[[name]] <- ...future.oldEnvVars[[name]] [22:34:51.239] } [22:34:51.239] NAMES <- toupper(added) [22:34:51.239] for (kk in seq_along(NAMES)) { [22:34:51.239] name <- added[[kk]] [22:34:51.239] NAME <- NAMES[[kk]] [22:34:51.239] if (name != NAME && is.element(NAME, old_names)) [22:34:51.239] next [22:34:51.239] args[[name]] <- "" [22:34:51.239] } [22:34:51.239] NAMES <- toupper(removed) [22:34:51.239] for (kk in seq_along(NAMES)) { [22:34:51.239] name <- removed[[kk]] [22:34:51.239] NAME <- NAMES[[kk]] [22:34:51.239] if (name != NAME && is.element(NAME, old_names)) [22:34:51.239] next [22:34:51.239] args[[name]] <- ...future.oldEnvVars[[name]] [22:34:51.239] } [22:34:51.239] if (length(args) > 0) [22:34:51.239] base::do.call(base::Sys.setenv, args = args) [22:34:51.239] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [22:34:51.239] } [22:34:51.239] else { [22:34:51.239] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [22:34:51.239] } [22:34:51.239] { [22:34:51.239] if (base::length(...future.futureOptionsAdded) > [22:34:51.239] 0L) { [22:34:51.239] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [22:34:51.239] base::names(opts) <- ...future.futureOptionsAdded [22:34:51.239] base::options(opts) [22:34:51.239] } [22:34:51.239] { [22:34:51.239] NULL [22:34:51.239] options(future.plan = NULL) [22:34:51.239] if (is.na(NA_character_)) [22:34:51.239] Sys.unsetenv("R_FUTURE_PLAN") [22:34:51.239] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [22:34:51.239] future::plan(...future.strategy.old, .cleanup = FALSE, [22:34:51.239] .init = FALSE) [22:34:51.239] } [22:34:51.239] } [22:34:51.239] } [22:34:51.239] }) [22:34:51.239] if (TRUE) { [22:34:51.239] base::sink(type = "output", split = FALSE) [22:34:51.239] if (TRUE) { [22:34:51.239] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [22:34:51.239] } [22:34:51.239] else { [22:34:51.239] ...future.result["stdout"] <- base::list(NULL) [22:34:51.239] } [22:34:51.239] base::close(...future.stdout) [22:34:51.239] ...future.stdout <- NULL [22:34:51.239] } [22:34:51.239] ...future.result$conditions <- ...future.conditions [22:34:51.239] ...future.result$finished <- base::Sys.time() [22:34:51.239] ...future.result [22:34:51.239] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in ‘tests/globals,nested.R’ failed. Complete output: > ## This requires mirai (>= 0.13.2) > if (packageVersion("mirai") >= "0.13.2") { + library(future.mirai) + + mirai::daemons(1, dispatcher = FALSE) + plan(mirai_cluster) + + g <- function() 42 + h <- function() g() + + f <- future(h()) + v <- value(f) + print(v) + stopifnot(v == h()) + + plan(sequential) + mirai::daemons(0) ## Reset any daemons running + gc() + + } Loading required package: future Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: plan ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in ‘tests/globals,subassignment.R’ failed. Complete output: > source("incl/start.R") Loading required package: future [22:34:53.366] plan(): Setting new future strategy stack: [22:34:53.366] List of future strategies: [22:34:53.366] 1. mirai_multisession: [22:34:53.366] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [22:34:53.366] - tweaked: FALSE [22:34:53.366] - call: future::plan(future.mirai::mirai_multisession) [22:34:53.393] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [22:34:53.393] < mirai [$data] > [22:34:53.416] getGlobalsAndPackages() ... [22:34:53.417] Not searching for globals [22:34:53.417] - globals: [0] <none> [22:34:53.417] getGlobalsAndPackages() ... DONE [22:34:53.418] getGlobalsAndPackages() ... [22:34:53.419] [22:34:53.419] - globals: [0] <none> [22:34:53.419] getGlobalsAndPackages() ... DONE [22:34:54.554] Packages needed by the future expression (n = 0): <none> [22:34:54.554] Packages needed by future strategies (n = 0): <none> [22:34:54.556] { [22:34:54.556] { [22:34:54.556] { [22:34:54.556] ...future.startTime <- base::Sys.time() [22:34:54.556] { [22:34:54.556] { [22:34:54.556] { [22:34:54.556] base::local({ [22:34:54.556] has_future <- base::requireNamespace("future", [22:34:54.556] quietly = TRUE) [22:34:54.556] if (has_future) { [22:34:54.556] ns <- base::getNamespace("future") [22:34:54.556] version <- ns[[".package"]][["version"]] [22:34:54.556] if (is.null(version)) [22:34:54.556] version <- utils::packageVersion("future") [22:34:54.556] } [22:34:54.556] else { [22:34:54.556] version <- NULL [22:34:54.556] } [22:34:54.556] if (!has_future || version < "1.8.0") { [22:34:54.556] info <- base::c(r_version = base::gsub("R version ", [22:34:54.556] "", base::R.version$version.string), [22:34:54.556] platform = base::sprintf("%s (%s-bit)", [22:34:54.556] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [22:34:54.556] os = base::paste(base::Sys.info()[base::c("sysname", [22:34:54.556] "release", "version")], collapse = " "), [22:34:54.556] hostname = base::Sys.info()[["nodename"]]) [22:34:54.556] info <- base::sprintf("%s: %s", base::names(info), [22:34:54.556] info) [22:34:54.556] info <- base::paste(info, collapse = "; ") [22:34:54.556] if (!has_future) { [22:34:54.556] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [22:34:54.556] info) [22:34:54.556] } [22:34:54.556] else { [22:34:54.556] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [22:34:54.556] info, version) [22:34:54.556] } [22:34:54.556] base::stop(msg) [22:34:54.556] } [22:34:54.556] }) [22:34:54.556] } [22:34:54.556] ...future.strategy.old <- future::plan("list") [22:34:54.556] options(future.plan = NULL) [22:34:54.556] Sys.unsetenv("R_FUTURE_PLAN") [22:34:54.556] future::plan("default", .cleanup = FALSE, .init = FALSE) [22:34:54.556] } [22:34:54.556] ...future.workdir <- getwd() [22:34:54.556] } [22:34:54.556] ...future.oldOptions <- base::as.list(base::.Options) [22:34:54.556] ...future.oldEnvVars <- base::Sys.getenv() [22:34:54.556] } [22:34:54.556] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [22:34:54.556] future.globals.maxSize = NULL, future.globals.method = NULL, [22:34:54.556] future.globals.onMissing = NULL, future.globals.onReference = NULL, [22:34:54.556] future.globals.resolve = NULL, future.resolve.recursive = NULL, [22:34:54.556] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [22:34:54.556] future.stdout.windows.reencode = NULL, width = 80L) [22:34:54.556] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [22:34:54.556] base::names(...future.oldOptions)) [22:34:54.556] } [22:34:54.556] if (FALSE) { [22:34:54.556] } [22:34:54.556] else { [22:34:54.556] if (TRUE) { [22:34:54.556] ...future.stdout <- base::rawConnection(base::raw(0L), [22:34:54.556] open = "w") [22:34:54.556] } [22:34:54.556] else { [22:34:54.556] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [22:34:54.556] windows = "NUL", "/dev/null"), open = "w") [22:34:54.556] } [22:34:54.556] base::sink(...future.stdout, type = "output", split = FALSE) [22:34:54.556] base::on.exit(if (!base::is.null(...future.stdout)) { [22:34:54.556] base::sink(type = "output", split = FALSE) [22:34:54.556] base::close(...future.stdout) [22:34:54.556] }, add = TRUE) [22:34:54.556] } [22:34:54.556] ...future.frame <- base::sys.nframe() [22:34:54.556] ...future.conditions <- base::list() [22:34:54.556] ...future.rng <- base::globalenv()$.Random.seed [22:34:54.556] if (FALSE) { [22:34:54.556] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [22:34:54.556] "...future.value", "...future.globalenv.names", ".Random.seed") [22:34:54.556] } [22:34:54.556] ...future.result <- base::tryCatch({ [22:34:54.556] base::withCallingHandlers({ [22:34:54.556] ...future.value <- base::withVisible(base::local(NA)) [22:34:54.556] future::FutureResult(value = ...future.value$value, [22:34:54.556] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [22:34:54.556] ...future.rng), globalenv = if (FALSE) [22:34:54.556] list(added = base::setdiff(base::names(base::.GlobalEnv), [22:34:54.556] ...future.globalenv.names)) [22:34:54.556] else NULL, started = ...future.startTime, version = "1.8") [22:34:54.556] }, condition = base::local({ [22:34:54.556] c <- base::c [22:34:54.556] inherits <- base::inherits [22:34:54.556] invokeRestart <- base::invokeRestart [22:34:54.556] length <- base::length [22:34:54.556] list <- base::list [22:34:54.556] seq.int <- base::seq.int [22:34:54.556] signalCondition <- base::signalCondition [22:34:54.556] sys.calls <- base::sys.calls [22:34:54.556] `[[` <- base::`[[` [22:34:54.556] `+` <- base::`+` [22:34:54.556] `<<-` <- base::`<<-` [22:34:54.556] sysCalls <- function(calls = sys.calls(), from = 1L) { [22:34:54.556] calls[seq.int(from = from + 12L, to = length(calls) - [22:34:54.556] 3L)] [22:34:54.556] } [22:34:54.556] function(cond) { [22:34:54.556] is_error <- inherits(cond, "error") [22:34:54.556] ignore <- !is_error && !is.null(NULL) && inherits(cond, [22:34:54.556] NULL) [22:34:54.556] if (is_error) { [22:34:54.556] sessionInformation <- function() { [22:34:54.556] list(r = base::R.Version(), locale = base::Sys.getlocale(), [22:34:54.556] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [22:34:54.556] search = base::search(), system = base::Sys.info()) [22:34:54.556] } [22:34:54.556] ...future.conditions[[length(...future.conditions) + [22:34:54.556] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [22:34:54.556] cond$call), session = sessionInformation(), [22:34:54.556] timestamp = base::Sys.time(), signaled = 0L) [22:34:54.556] signalCondition(cond) [22:34:54.556] } [22:34:54.556] else if (!ignore && TRUE && inherits(cond, "condition")) { [22:34:54.556] signal <- FALSE && inherits(cond, character(0)) [22:34:54.556] ...future.conditions[[length(...future.conditions) + [22:34:54.556] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [22:34:54.556] if (FALSE && !signal) { [22:34:54.556] muffleCondition <- function (cond, pattern = "^muffle") [22:34:54.556] { [22:34:54.556] inherits <- base::inherits [22:34:54.556] invokeRestart <- base::invokeRestart [22:34:54.556] is.null <- base::is.null [22:34:54.556] muffled <- FALSE [22:34:54.556] if (inherits(cond, "message")) { [22:34:54.556] muffled <- grepl(pattern, "muffleMessage") [22:34:54.556] if (muffled) [22:34:54.556] invokeRestart("muffleMessage") [22:34:54.556] } [22:34:54.556] else if (inherits(cond, "warning")) { [22:34:54.556] muffled <- grepl(pattern, "muffleWarning") [22:34:54.556] if (muffled) [22:34:54.556] invokeRestart("muffleWarning") [22:34:54.556] } [22:34:54.556] else if (inherits(cond, "condition")) { [22:34:54.556] if (!is.null(pattern)) { [22:34:54.556] computeRestarts <- base::computeRestarts [22:34:54.556] grepl <- base::grepl [22:34:54.556] restarts <- computeRestarts(cond) [22:34:54.556] for (restart in restarts) { [22:34:54.556] name <- restart$name [22:34:54.556] if (is.null(name)) [22:34:54.556] next [22:34:54.556] if (!grepl(pattern, name)) [22:34:54.556] next [22:34:54.556] invokeRestart(restart) [22:34:54.556] muffled <- TRUE [22:34:54.556] break [22:34:54.556] } [22:34:54.556] } [22:34:54.556] } [22:34:54.556] invisible(muffled) [22:34:54.556] } [22:34:54.556] muffleCondition(cond, pattern = "^muffle") [22:34:54.556] } [22:34:54.556] } [22:34:54.556] else { [22:34:54.556] if (TRUE) { [22:34:54.556] muffleCondition <- function (cond, pattern = "^muffle") [22:34:54.556] { [22:34:54.556] inherits <- base::inherits [22:34:54.556] invokeRestart <- base::invokeRestart [22:34:54.556] is.null <- base::is.null [22:34:54.556] muffled <- FALSE [22:34:54.556] if (inherits(cond, "message")) { [22:34:54.556] muffled <- grepl(pattern, "muffleMessage") [22:34:54.556] if (muffled) [22:34:54.556] invokeRestart("muffleMessage") [22:34:54.556] } [22:34:54.556] else if (inherits(cond, "warning")) { [22:34:54.556] muffled <- grepl(pattern, "muffleWarning") [22:34:54.556] if (muffled) [22:34:54.556] invokeRestart("muffleWarning") [22:34:54.556] } [22:34:54.556] else if (inherits(cond, "condition")) { [22:34:54.556] if (!is.null(pattern)) { [22:34:54.556] computeRestarts <- base::computeRestarts [22:34:54.556] grepl <- base::grepl [22:34:54.556] restarts <- computeRestarts(cond) [22:34:54.556] for (restart in restarts) { [22:34:54.556] name <- restart$name [22:34:54.556] if (is.null(name)) [22:34:54.556] next [22:34:54.556] if (!grepl(pattern, name)) [22:34:54.556] next [22:34:54.556] invokeRestart(restart) [22:34:54.556] muffled <- TRUE [22:34:54.556] break [22:34:54.556] } [22:34:54.556] } [22:34:54.556] } [22:34:54.556] invisible(muffled) [22:34:54.556] } [22:34:54.556] muffleCondition(cond, pattern = "^muffle") [22:34:54.556] } [22:34:54.556] } [22:34:54.556] } [22:34:54.556] })) [22:34:54.556] }, error = function(ex) { [22:34:54.556] base::structure(base::list(value = NULL, visible = NULL, [22:34:54.556] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [22:34:54.556] ...future.rng), started = ...future.startTime, [22:34:54.556] finished = Sys.time(), session_uuid = NA_character_, [22:34:54.556] version = "1.8"), class = "FutureResult") [22:34:54.556] }, finally = { [22:34:54.556] if (!identical(...future.workdir, getwd())) [22:34:54.556] setwd(...future.workdir) [22:34:54.556] { [22:34:54.556] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [22:34:54.556] ...future.oldOptions$nwarnings <- NULL [22:34:54.556] } [22:34:54.556] base::options(...future.oldOptions) [22:34:54.556] if (.Platform$OS.type == "windows") { [22:34:54.556] old_names <- names(...future.oldEnvVars) [22:34:54.556] envs <- base::Sys.getenv() [22:34:54.556] names <- names(envs) [22:34:54.556] common <- intersect(names, old_names) [22:34:54.556] added <- setdiff(names, old_names) [22:34:54.556] removed <- setdiff(old_names, names) [22:34:54.556] changed <- common[...future.oldEnvVars[common] != [22:34:54.556] envs[common]] [22:34:54.556] NAMES <- toupper(changed) [22:34:54.556] args <- list() [22:34:54.556] for (kk in seq_along(NAMES)) { [22:34:54.556] name <- changed[[kk]] [22:34:54.556] NAME <- NAMES[[kk]] [22:34:54.556] if (name != NAME && is.element(NAME, old_names)) [22:34:54.556] next [22:34:54.556] args[[name]] <- ...future.oldEnvVars[[name]] [22:34:54.556] } [22:34:54.556] NAMES <- toupper(added) [22:34:54.556] for (kk in seq_along(NAMES)) { [22:34:54.556] name <- added[[kk]] [22:34:54.556] NAME <- NAMES[[kk]] [22:34:54.556] if (name != NAME && is.element(NAME, old_names)) [22:34:54.556] next [22:34:54.556] args[[name]] <- "" [22:34:54.556] } [22:34:54.556] NAMES <- toupper(removed) [22:34:54.556] for (kk in seq_along(NAMES)) { [22:34:54.556] name <- removed[[kk]] [22:34:54.556] NAME <- NAMES[[kk]] [22:34:54.556] if (name != NAME && is.element(NAME, old_names)) [22:34:54.556] next [22:34:54.556] args[[name]] <- ...future.oldEnvVars[[name]] [22:34:54.556] } [22:34:54.556] if (length(args) > 0) [22:34:54.556] base::do.call(base::Sys.setenv, args = args) [22:34:54.556] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [22:34:54.556] } [22:34:54.556] else { [22:34:54.556] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [22:34:54.556] } [22:34:54.556] { [22:34:54.556] if (base::length(...future.futureOptionsAdded) > [22:34:54.556] 0L) { [22:34:54.556] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [22:34:54.556] base::names(opts) <- ...future.futureOptionsAdded [22:34:54.556] base::options(opts) [22:34:54.556] } [22:34:54.556] { [22:34:54.556] NULL [22:34:54.556] options(future.plan = NULL) [22:34:54.556] if (is.na(NA_character_)) [22:34:54.556] Sys.unsetenv("R_FUTURE_PLAN") [22:34:54.556] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [22:34:54.556] future::plan(...future.strategy.old, .cleanup = FALSE, [22:34:54.556] .init = FALSE) [22:34:54.556] } [22:34:54.556] } [22:34:54.556] } [22:34:54.556] }) [22:34:54.556] if (TRUE) { [22:34:54.556] base::sink(type = "output", split = FALSE) [22:34:54.556] if (TRUE) { [22:34:54.556] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [22:34:54.556] } [22:34:54.556] else { [22:34:54.556] ...future.result["stdout"] <- base::list(NULL) [22:34:54.556] } [22:34:54.556] base::close(...future.stdout) [22:34:54.556] ...future.stdout <- NULL [22:34:54.556] } [22:34:54.556] ...future.result$conditions <- ...future.conditions [22:34:54.556] ...future.result$finished <- base::Sys.time() [22:34:54.556] ...future.result [22:34:54.556] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in ‘tests/globals,tricky.R’ failed. Complete output: > source("incl/start.R") Loading required package: future [22:34:55.286] plan(): Setting new future strategy stack: [22:34:55.286] List of future strategies: [22:34:55.286] 1. mirai_multisession: [22:34:55.286] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [22:34:55.286] - tweaked: FALSE [22:34:55.286] - call: future::plan(future.mirai::mirai_multisession) [22:34:55.312] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [22:34:55.313] < mirai [$data] > [22:34:55.338] getGlobalsAndPackages() ... [22:34:55.339] Not searching for globals [22:34:55.340] - globals: [0] <none> [22:34:55.340] getGlobalsAndPackages() ... DONE [22:34:55.341] getGlobalsAndPackages() ... [22:34:55.342] [22:34:55.342] - globals: [0] <none> [22:34:55.342] getGlobalsAndPackages() ... DONE [22:34:56.350] Packages needed by the future expression (n = 0): <none> [22:34:56.350] Packages needed by future strategies (n = 0): <none> [22:34:56.352] { [22:34:56.352] { [22:34:56.352] { [22:34:56.352] ...future.startTime <- base::Sys.time() [22:34:56.352] { [22:34:56.352] { [22:34:56.352] { [22:34:56.352] base::local({ [22:34:56.352] has_future <- base::requireNamespace("future", [22:34:56.352] quietly = TRUE) [22:34:56.352] if (has_future) { [22:34:56.352] ns <- base::getNamespace("future") [22:34:56.352] version <- ns[[".package"]][["version"]] [22:34:56.352] if (is.null(version)) [22:34:56.352] version <- utils::packageVersion("future") [22:34:56.352] } [22:34:56.352] else { [22:34:56.352] version <- NULL [22:34:56.352] } [22:34:56.352] if (!has_future || version < "1.8.0") { [22:34:56.352] info <- base::c(r_version = base::gsub("R version ", [22:34:56.352] "", base::R.version$version.string), [22:34:56.352] platform = base::sprintf("%s (%s-bit)", [22:34:56.352] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [22:34:56.352] os = base::paste(base::Sys.info()[base::c("sysname", [22:34:56.352] "release", "version")], collapse = " "), [22:34:56.352] hostname = base::Sys.info()[["nodename"]]) [22:34:56.352] info <- base::sprintf("%s: %s", base::names(info), [22:34:56.352] info) [22:34:56.352] info <- base::paste(info, collapse = "; ") [22:34:56.352] if (!has_future) { [22:34:56.352] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [22:34:56.352] info) [22:34:56.352] } [22:34:56.352] else { [22:34:56.352] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [22:34:56.352] info, version) [22:34:56.352] } [22:34:56.352] base::stop(msg) [22:34:56.352] } [22:34:56.352] }) [22:34:56.352] } [22:34:56.352] ...future.strategy.old <- future::plan("list") [22:34:56.352] options(future.plan = NULL) [22:34:56.352] Sys.unsetenv("R_FUTURE_PLAN") [22:34:56.352] future::plan("default", .cleanup = FALSE, .init = FALSE) [22:34:56.352] } [22:34:56.352] ...future.workdir <- getwd() [22:34:56.352] } [22:34:56.352] ...future.oldOptions <- base::as.list(base::.Options) [22:34:56.352] ...future.oldEnvVars <- base::Sys.getenv() [22:34:56.352] } [22:34:56.352] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [22:34:56.352] future.globals.maxSize = NULL, future.globals.method = NULL, [22:34:56.352] future.globals.onMissing = NULL, future.globals.onReference = NULL, [22:34:56.352] future.globals.resolve = NULL, future.resolve.recursive = NULL, [22:34:56.352] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [22:34:56.352] future.stdout.windows.reencode = NULL, width = 80L) [22:34:56.352] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [22:34:56.352] base::names(...future.oldOptions)) [22:34:56.352] } [22:34:56.352] if (FALSE) { [22:34:56.352] } [22:34:56.352] else { [22:34:56.352] if (TRUE) { [22:34:56.352] ...future.stdout <- base::rawConnection(base::raw(0L), [22:34:56.352] open = "w") [22:34:56.352] } [22:34:56.352] else { [22:34:56.352] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [22:34:56.352] windows = "NUL", "/dev/null"), open = "w") [22:34:56.352] } [22:34:56.352] base::sink(...future.stdout, type = "output", split = FALSE) [22:34:56.352] base::on.exit(if (!base::is.null(...future.stdout)) { [22:34:56.352] base::sink(type = "output", split = FALSE) [22:34:56.352] base::close(...future.stdout) [22:34:56.352] }, add = TRUE) [22:34:56.352] } [22:34:56.352] ...future.frame <- base::sys.nframe() [22:34:56.352] ...future.conditions <- base::list() [22:34:56.352] ...future.rng <- base::globalenv()$.Random.seed [22:34:56.352] if (FALSE) { [22:34:56.352] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [22:34:56.352] "...future.value", "...future.globalenv.names", ".Random.seed") [22:34:56.352] } [22:34:56.352] ...future.result <- base::tryCatch({ [22:34:56.352] base::withCallingHandlers({ [22:34:56.352] ...future.value <- base::withVisible(base::local(NA)) [22:34:56.352] future::FutureResult(value = ...future.value$value, [22:34:56.352] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [22:34:56.352] ...future.rng), globalenv = if (FALSE) [22:34:56.352] list(added = base::setdiff(base::names(base::.GlobalEnv), [22:34:56.352] ...future.globalenv.names)) [22:34:56.352] else NULL, started = ...future.startTime, version = "1.8") [22:34:56.352] }, condition = base::local({ [22:34:56.352] c <- base::c [22:34:56.352] inherits <- base::inherits [22:34:56.352] invokeRestart <- base::invokeRestart [22:34:56.352] length <- base::length [22:34:56.352] list <- base::list [22:34:56.352] seq.int <- base::seq.int [22:34:56.352] signalCondition <- base::signalCondition [22:34:56.352] sys.calls <- base::sys.calls [22:34:56.352] `[[` <- base::`[[` [22:34:56.352] `+` <- base::`+` [22:34:56.352] `<<-` <- base::`<<-` [22:34:56.352] sysCalls <- function(calls = sys.calls(), from = 1L) { [22:34:56.352] calls[seq.int(from = from + 12L, to = length(calls) - [22:34:56.352] 3L)] [22:34:56.352] } [22:34:56.352] function(cond) { [22:34:56.352] is_error <- inherits(cond, "error") [22:34:56.352] ignore <- !is_error && !is.null(NULL) && inherits(cond, [22:34:56.352] NULL) [22:34:56.352] if (is_error) { [22:34:56.352] sessionInformation <- function() { [22:34:56.352] list(r = base::R.Version(), locale = base::Sys.getlocale(), [22:34:56.352] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [22:34:56.352] search = base::search(), system = base::Sys.info()) [22:34:56.352] } [22:34:56.352] ...future.conditions[[length(...future.conditions) + [22:34:56.352] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [22:34:56.352] cond$call), session = sessionInformation(), [22:34:56.352] timestamp = base::Sys.time(), signaled = 0L) [22:34:56.352] signalCondition(cond) [22:34:56.352] } [22:34:56.352] else if (!ignore && TRUE && inherits(cond, "condition")) { [22:34:56.352] signal <- FALSE && inherits(cond, character(0)) [22:34:56.352] ...future.conditions[[length(...future.conditions) + [22:34:56.352] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [22:34:56.352] if (FALSE && !signal) { [22:34:56.352] muffleCondition <- function (cond, pattern = "^muffle") [22:34:56.352] { [22:34:56.352] inherits <- base::inherits [22:34:56.352] invokeRestart <- base::invokeRestart [22:34:56.352] is.null <- base::is.null [22:34:56.352] muffled <- FALSE [22:34:56.352] if (inherits(cond, "message")) { [22:34:56.352] muffled <- grepl(pattern, "muffleMessage") [22:34:56.352] if (muffled) [22:34:56.352] invokeRestart("muffleMessage") [22:34:56.352] } [22:34:56.352] else if (inherits(cond, "warning")) { [22:34:56.352] muffled <- grepl(pattern, "muffleWarning") [22:34:56.352] if (muffled) [22:34:56.352] invokeRestart("muffleWarning") [22:34:56.352] } [22:34:56.352] else if (inherits(cond, "condition")) { [22:34:56.352] if (!is.null(pattern)) { [22:34:56.352] computeRestarts <- base::computeRestarts [22:34:56.352] grepl <- base::grepl [22:34:56.352] restarts <- computeRestarts(cond) [22:34:56.352] for (restart in restarts) { [22:34:56.352] name <- restart$name [22:34:56.352] if (is.null(name)) [22:34:56.352] next [22:34:56.352] if (!grepl(pattern, name)) [22:34:56.352] next [22:34:56.352] invokeRestart(restart) [22:34:56.352] muffled <- TRUE [22:34:56.352] break [22:34:56.352] } [22:34:56.352] } [22:34:56.352] } [22:34:56.352] invisible(muffled) [22:34:56.352] } [22:34:56.352] muffleCondition(cond, pattern = "^muffle") [22:34:56.352] } [22:34:56.352] } [22:34:56.352] else { [22:34:56.352] if (TRUE) { [22:34:56.352] muffleCondition <- function (cond, pattern = "^muffle") [22:34:56.352] { [22:34:56.352] inherits <- base::inherits [22:34:56.352] invokeRestart <- base::invokeRestart [22:34:56.352] is.null <- base::is.null [22:34:56.352] muffled <- FALSE [22:34:56.352] if (inherits(cond, "message")) { [22:34:56.352] muffled <- grepl(pattern, "muffleMessage") [22:34:56.352] if (muffled) [22:34:56.352] invokeRestart("muffleMessage") [22:34:56.352] } [22:34:56.352] else if (inherits(cond, "warning")) { [22:34:56.352] muffled <- grepl(pattern, "muffleWarning") [22:34:56.352] if (muffled) [22:34:56.352] invokeRestart("muffleWarning") [22:34:56.352] } [22:34:56.352] else if (inherits(cond, "condition")) { [22:34:56.352] if (!is.null(pattern)) { [22:34:56.352] computeRestarts <- base::computeRestarts [22:34:56.352] grepl <- base::grepl [22:34:56.352] restarts <- computeRestarts(cond) [22:34:56.352] for (restart in restarts) { [22:34:56.352] name <- restart$name [22:34:56.352] if (is.null(name)) [22:34:56.352] next [22:34:56.352] if (!grepl(pattern, name)) [22:34:56.352] next [22:34:56.352] invokeRestart(restart) [22:34:56.352] muffled <- TRUE [22:34:56.352] break [22:34:56.352] } [22:34:56.352] } [22:34:56.352] } [22:34:56.352] invisible(muffled) [22:34:56.352] } [22:34:56.352] muffleCondition(cond, pattern = "^muffle") [22:34:56.352] } [22:34:56.352] } [22:34:56.352] } [22:34:56.352] })) [22:34:56.352] }, error = function(ex) { [22:34:56.352] base::structure(base::list(value = NULL, visible = NULL, [22:34:56.352] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [22:34:56.352] ...future.rng), started = ...future.startTime, [22:34:56.352] finished = Sys.time(), session_uuid = NA_character_, [22:34:56.352] version = "1.8"), class = "FutureResult") [22:34:56.352] }, finally = { [22:34:56.352] if (!identical(...future.workdir, getwd())) [22:34:56.352] setwd(...future.workdir) [22:34:56.352] { [22:34:56.352] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [22:34:56.352] ...future.oldOptions$nwarnings <- NULL [22:34:56.352] } [22:34:56.352] base::options(...future.oldOptions) [22:34:56.352] if (.Platform$OS.type == "windows") { [22:34:56.352] old_names <- names(...future.oldEnvVars) [22:34:56.352] envs <- base::Sys.getenv() [22:34:56.352] names <- names(envs) [22:34:56.352] common <- intersect(names, old_names) [22:34:56.352] added <- setdiff(names, old_names) [22:34:56.352] removed <- setdiff(old_names, names) [22:34:56.352] changed <- common[...future.oldEnvVars[common] != [22:34:56.352] envs[common]] [22:34:56.352] NAMES <- toupper(changed) [22:34:56.352] args <- list() [22:34:56.352] for (kk in seq_along(NAMES)) { [22:34:56.352] name <- changed[[kk]] [22:34:56.352] NAME <- NAMES[[kk]] [22:34:56.352] if (name != NAME && is.element(NAME, old_names)) [22:34:56.352] next [22:34:56.352] args[[name]] <- ...future.oldEnvVars[[name]] [22:34:56.352] } [22:34:56.352] NAMES <- toupper(added) [22:34:56.352] for (kk in seq_along(NAMES)) { [22:34:56.352] name <- added[[kk]] [22:34:56.352] NAME <- NAMES[[kk]] [22:34:56.352] if (name != NAME && is.element(NAME, old_names)) [22:34:56.352] next [22:34:56.352] args[[name]] <- "" [22:34:56.352] } [22:34:56.352] NAMES <- toupper(removed) [22:34:56.352] for (kk in seq_along(NAMES)) { [22:34:56.352] name <- removed[[kk]] [22:34:56.352] NAME <- NAMES[[kk]] [22:34:56.352] if (name != NAME && is.element(NAME, old_names)) [22:34:56.352] next [22:34:56.352] args[[name]] <- ...future.oldEnvVars[[name]] [22:34:56.352] } [22:34:56.352] if (length(args) > 0) [22:34:56.352] base::do.call(base::Sys.setenv, args = args) [22:34:56.352] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [22:34:56.352] } [22:34:56.352] else { [22:34:56.352] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [22:34:56.352] } [22:34:56.352] { [22:34:56.352] if (base::length(...future.futureOptionsAdded) > [22:34:56.352] 0L) { [22:34:56.352] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [22:34:56.352] base::names(opts) <- ...future.futureOptionsAdded [22:34:56.352] base::options(opts) [22:34:56.352] } [22:34:56.352] { [22:34:56.352] NULL [22:34:56.352] options(future.plan = NULL) [22:34:56.352] if (is.na(NA_character_)) [22:34:56.352] Sys.unsetenv("R_FUTURE_PLAN") [22:34:56.352] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [22:34:56.352] future::plan(...future.strategy.old, .cleanup = FALSE, [22:34:56.352] .init = FALSE) [22:34:56.352] } [22:34:56.352] } [22:34:56.352] } [22:34:56.352] }) [22:34:56.352] if (TRUE) { [22:34:56.352] base::sink(type = "output", split = FALSE) [22:34:56.352] if (TRUE) { [22:34:56.352] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [22:34:56.352] } [22:34:56.352] else { [22:34:56.352] ...future.result["stdout"] <- base::list(NULL) [22:34:56.352] } [22:34:56.352] base::close(...future.stdout) [22:34:56.352] ...future.stdout <- NULL [22:34:56.352] } [22:34:56.352] ...future.result$conditions <- ...future.conditions [22:34:56.352] ...future.result$finished <- base::Sys.time() [22:34:56.352] ...future.result [22:34:56.352] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in ‘tests/mirai_cluster,worker-termination.R’ failed. Complete output: > source("incl/start.R") Loading required package: future [22:34:57.133] plan(): Setting new future strategy stack: [22:34:57.133] List of future strategies: [22:34:57.133] 1. mirai_multisession: [22:34:57.133] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [22:34:57.133] - tweaked: FALSE [22:34:57.133] - call: future::plan(future.mirai::mirai_multisession) [22:34:57.192] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [22:34:57.192] < mirai [$data] > [22:34:57.264] getGlobalsAndPackages() ... [22:34:57.264] Not searching for globals [22:34:57.265] - globals: [0] <none> [22:34:57.265] getGlobalsAndPackages() ... DONE [22:34:57.266] getGlobalsAndPackages() ... [22:34:57.266] [22:34:57.266] - globals: [0] <none> [22:34:57.266] getGlobalsAndPackages() ... DONE [22:34:58.506] Packages needed by the future expression (n = 0): <none> [22:34:58.507] Packages needed by future strategies (n = 0): <none> [22:34:58.508] { [22:34:58.508] { [22:34:58.508] { [22:34:58.508] ...future.startTime <- base::Sys.time() [22:34:58.508] { [22:34:58.508] { [22:34:58.508] { [22:34:58.508] base::local({ [22:34:58.508] has_future <- base::requireNamespace("future", [22:34:58.508] quietly = TRUE) [22:34:58.508] if (has_future) { [22:34:58.508] ns <- base::getNamespace("future") [22:34:58.508] version <- ns[[".package"]][["version"]] [22:34:58.508] if (is.null(version)) [22:34:58.508] version <- utils::packageVersion("future") [22:34:58.508] } [22:34:58.508] else { [22:34:58.508] version <- NULL [22:34:58.508] } [22:34:58.508] if (!has_future || version < "1.8.0") { [22:34:58.508] info <- base::c(r_version = base::gsub("R version ", [22:34:58.508] "", base::R.version$version.string), [22:34:58.508] platform = base::sprintf("%s (%s-bit)", [22:34:58.508] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [22:34:58.508] os = base::paste(base::Sys.info()[base::c("sysname", [22:34:58.508] "release", "version")], collapse = " "), [22:34:58.508] hostname = base::Sys.info()[["nodename"]]) [22:34:58.508] info <- base::sprintf("%s: %s", base::names(info), [22:34:58.508] info) [22:34:58.508] info <- base::paste(info, collapse = "; ") [22:34:58.508] if (!has_future) { [22:34:58.508] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [22:34:58.508] info) [22:34:58.508] } [22:34:58.508] else { [22:34:58.508] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [22:34:58.508] info, version) [22:34:58.508] } [22:34:58.508] base::stop(msg) [22:34:58.508] } [22:34:58.508] }) [22:34:58.508] } [22:34:58.508] ...future.strategy.old <- future::plan("list") [22:34:58.508] options(future.plan = NULL) [22:34:58.508] Sys.unsetenv("R_FUTURE_PLAN") [22:34:58.508] future::plan("default", .cleanup = FALSE, .init = FALSE) [22:34:58.508] } [22:34:58.508] ...future.workdir <- getwd() [22:34:58.508] } [22:34:58.508] ...future.oldOptions <- base::as.list(base::.Options) [22:34:58.508] ...future.oldEnvVars <- base::Sys.getenv() [22:34:58.508] } [22:34:58.508] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [22:34:58.508] future.globals.maxSize = NULL, future.globals.method = NULL, [22:34:58.508] future.globals.onMissing = NULL, future.globals.onReference = NULL, [22:34:58.508] future.globals.resolve = NULL, future.resolve.recursive = NULL, [22:34:58.508] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [22:34:58.508] future.stdout.windows.reencode = NULL, width = 80L) [22:34:58.508] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [22:34:58.508] base::names(...future.oldOptions)) [22:34:58.508] } [22:34:58.508] if (FALSE) { [22:34:58.508] } [22:34:58.508] else { [22:34:58.508] if (TRUE) { [22:34:58.508] ...future.stdout <- base::rawConnection(base::raw(0L), [22:34:58.508] open = "w") [22:34:58.508] } [22:34:58.508] else { [22:34:58.508] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [22:34:58.508] windows = "NUL", "/dev/null"), open = "w") [22:34:58.508] } [22:34:58.508] base::sink(...future.stdout, type = "output", split = FALSE) [22:34:58.508] base::on.exit(if (!base::is.null(...future.stdout)) { [22:34:58.508] base::sink(type = "output", split = FALSE) [22:34:58.508] base::close(...future.stdout) [22:34:58.508] }, add = TRUE) [22:34:58.508] } [22:34:58.508] ...future.frame <- base::sys.nframe() [22:34:58.508] ...future.conditions <- base::list() [22:34:58.508] ...future.rng <- base::globalenv()$.Random.seed [22:34:58.508] if (FALSE) { [22:34:58.508] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [22:34:58.508] "...future.value", "...future.globalenv.names", ".Random.seed") [22:34:58.508] } [22:34:58.508] ...future.result <- base::tryCatch({ [22:34:58.508] base::withCallingHandlers({ [22:34:58.508] ...future.value <- base::withVisible(base::local(NA)) [22:34:58.508] future::FutureResult(value = ...future.value$value, [22:34:58.508] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [22:34:58.508] ...future.rng), globalenv = if (FALSE) [22:34:58.508] list(added = base::setdiff(base::names(base::.GlobalEnv), [22:34:58.508] ...future.globalenv.names)) [22:34:58.508] else NULL, started = ...future.startTime, version = "1.8") [22:34:58.508] }, condition = base::local({ [22:34:58.508] c <- base::c [22:34:58.508] inherits <- base::inherits [22:34:58.508] invokeRestart <- base::invokeRestart [22:34:58.508] length <- base::length [22:34:58.508] list <- base::list [22:34:58.508] seq.int <- base::seq.int [22:34:58.508] signalCondition <- base::signalCondition [22:34:58.508] sys.calls <- base::sys.calls [22:34:58.508] `[[` <- base::`[[` [22:34:58.508] `+` <- base::`+` [22:34:58.508] `<<-` <- base::`<<-` [22:34:58.508] sysCalls <- function(calls = sys.calls(), from = 1L) { [22:34:58.508] calls[seq.int(from = from + 12L, to = length(calls) - [22:34:58.508] 3L)] [22:34:58.508] } [22:34:58.508] function(cond) { [22:34:58.508] is_error <- inherits(cond, "error") [22:34:58.508] ignore <- !is_error && !is.null(NULL) && inherits(cond, [22:34:58.508] NULL) [22:34:58.508] if (is_error) { [22:34:58.508] sessionInformation <- function() { [22:34:58.508] list(r = base::R.Version(), locale = base::Sys.getlocale(), [22:34:58.508] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [22:34:58.508] search = base::search(), system = base::Sys.info()) [22:34:58.508] } [22:34:58.508] ...future.conditions[[length(...future.conditions) + [22:34:58.508] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [22:34:58.508] cond$call), session = sessionInformation(), [22:34:58.508] timestamp = base::Sys.time(), signaled = 0L) [22:34:58.508] signalCondition(cond) [22:34:58.508] } [22:34:58.508] else if (!ignore && TRUE && inherits(cond, "condition")) { [22:34:58.508] signal <- FALSE && inherits(cond, character(0)) [22:34:58.508] ...future.conditions[[length(...future.conditions) + [22:34:58.508] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [22:34:58.508] if (FALSE && !signal) { [22:34:58.508] muffleCondition <- function (cond, pattern = "^muffle") [22:34:58.508] { [22:34:58.508] inherits <- base::inherits [22:34:58.508] invokeRestart <- base::invokeRestart [22:34:58.508] is.null <- base::is.null [22:34:58.508] muffled <- FALSE [22:34:58.508] if (inherits(cond, "message")) { [22:34:58.508] muffled <- grepl(pattern, "muffleMessage") [22:34:58.508] if (muffled) [22:34:58.508] invokeRestart("muffleMessage") [22:34:58.508] } [22:34:58.508] else if (inherits(cond, "warning")) { [22:34:58.508] muffled <- grepl(pattern, "muffleWarning") [22:34:58.508] if (muffled) [22:34:58.508] invokeRestart("muffleWarning") [22:34:58.508] } [22:34:58.508] else if (inherits(cond, "condition")) { [22:34:58.508] if (!is.null(pattern)) { [22:34:58.508] computeRestarts <- base::computeRestarts [22:34:58.508] grepl <- base::grepl [22:34:58.508] restarts <- computeRestarts(cond) [22:34:58.508] for (restart in restarts) { [22:34:58.508] name <- restart$name [22:34:58.508] if (is.null(name)) [22:34:58.508] next [22:34:58.508] if (!grepl(pattern, name)) [22:34:58.508] next [22:34:58.508] invokeRestart(restart) [22:34:58.508] muffled <- TRUE [22:34:58.508] break [22:34:58.508] } [22:34:58.508] } [22:34:58.508] } [22:34:58.508] invisible(muffled) [22:34:58.508] } [22:34:58.508] muffleCondition(cond, pattern = "^muffle") [22:34:58.508] } [22:34:58.508] } [22:34:58.508] else { [22:34:58.508] if (TRUE) { [22:34:58.508] muffleCondition <- function (cond, pattern = "^muffle") [22:34:58.508] { [22:34:58.508] inherits <- base::inherits [22:34:58.508] invokeRestart <- base::invokeRestart [22:34:58.508] is.null <- base::is.null [22:34:58.508] muffled <- FALSE [22:34:58.508] if (inherits(cond, "message")) { [22:34:58.508] muffled <- grepl(pattern, "muffleMessage") [22:34:58.508] if (muffled) [22:34:58.508] invokeRestart("muffleMessage") [22:34:58.508] } [22:34:58.508] else if (inherits(cond, "warning")) { [22:34:58.508] muffled <- grepl(pattern, "muffleWarning") [22:34:58.508] if (muffled) [22:34:58.508] invokeRestart("muffleWarning") [22:34:58.508] } [22:34:58.508] else if (inherits(cond, "condition")) { [22:34:58.508] if (!is.null(pattern)) { [22:34:58.508] computeRestarts <- base::computeRestarts [22:34:58.508] grepl <- base::grepl [22:34:58.508] restarts <- computeRestarts(cond) [22:34:58.508] for (restart in restarts) { [22:34:58.508] name <- restart$name [22:34:58.508] if (is.null(name)) [22:34:58.508] next [22:34:58.508] if (!grepl(pattern, name)) [22:34:58.508] next [22:34:58.508] invokeRestart(restart) [22:34:58.508] muffled <- TRUE [22:34:58.508] break [22:34:58.508] } [22:34:58.508] } [22:34:58.508] } [22:34:58.508] invisible(muffled) [22:34:58.508] } [22:34:58.508] muffleCondition(cond, pattern = "^muffle") [22:34:58.508] } [22:34:58.508] } [22:34:58.508] } [22:34:58.508] })) [22:34:58.508] }, error = function(ex) { [22:34:58.508] base::structure(base::list(value = NULL, visible = NULL, [22:34:58.508] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [22:34:58.508] ...future.rng), started = ...future.startTime, [22:34:58.508] finished = Sys.time(), session_uuid = NA_character_, [22:34:58.508] version = "1.8"), class = "FutureResult") [22:34:58.508] }, finally = { [22:34:58.508] if (!identical(...future.workdir, getwd())) [22:34:58.508] setwd(...future.workdir) [22:34:58.508] { [22:34:58.508] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [22:34:58.508] ...future.oldOptions$nwarnings <- NULL [22:34:58.508] } [22:34:58.508] base::options(...future.oldOptions) [22:34:58.508] if (.Platform$OS.type == "windows") { [22:34:58.508] old_names <- names(...future.oldEnvVars) [22:34:58.508] envs <- base::Sys.getenv() [22:34:58.508] names <- names(envs) [22:34:58.508] common <- intersect(names, old_names) [22:34:58.508] added <- setdiff(names, old_names) [22:34:58.508] removed <- setdiff(old_names, names) [22:34:58.508] changed <- common[...future.oldEnvVars[common] != [22:34:58.508] envs[common]] [22:34:58.508] NAMES <- toupper(changed) [22:34:58.508] args <- list() [22:34:58.508] for (kk in seq_along(NAMES)) { [22:34:58.508] name <- changed[[kk]] [22:34:58.508] NAME <- NAMES[[kk]] [22:34:58.508] if (name != NAME && is.element(NAME, old_names)) [22:34:58.508] next [22:34:58.508] args[[name]] <- ...future.oldEnvVars[[name]] [22:34:58.508] } [22:34:58.508] NAMES <- toupper(added) [22:34:58.508] for (kk in seq_along(NAMES)) { [22:34:58.508] name <- added[[kk]] [22:34:58.508] NAME <- NAMES[[kk]] [22:34:58.508] if (name != NAME && is.element(NAME, old_names)) [22:34:58.508] next [22:34:58.508] args[[name]] <- "" [22:34:58.508] } [22:34:58.508] NAMES <- toupper(removed) [22:34:58.508] for (kk in seq_along(NAMES)) { [22:34:58.508] name <- removed[[kk]] [22:34:58.508] NAME <- NAMES[[kk]] [22:34:58.508] if (name != NAME && is.element(NAME, old_names)) [22:34:58.508] next [22:34:58.508] args[[name]] <- ...future.oldEnvVars[[name]] [22:34:58.508] } [22:34:58.508] if (length(args) > 0) [22:34:58.508] base::do.call(base::Sys.setenv, args = args) [22:34:58.508] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [22:34:58.508] } [22:34:58.508] else { [22:34:58.508] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [22:34:58.508] } [22:34:58.508] { [22:34:58.508] if (base::length(...future.futureOptionsAdded) > [22:34:58.508] 0L) { [22:34:58.508] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [22:34:58.508] base::names(opts) <- ...future.futureOptionsAdded [22:34:58.508] base::options(opts) [22:34:58.508] } [22:34:58.508] { [22:34:58.508] NULL [22:34:58.508] options(future.plan = NULL) [22:34:58.508] if (is.na(NA_character_)) [22:34:58.508] Sys.unsetenv("R_FUTURE_PLAN") [22:34:58.508] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [22:34:58.508] future::plan(...future.strategy.old, .cleanup = FALSE, [22:34:58.508] .init = FALSE) [22:34:58.508] } [22:34:58.508] } [22:34:58.508] } [22:34:58.508] }) [22:34:58.508] if (TRUE) { [22:34:58.508] base::sink(type = "output", split = FALSE) [22:34:58.508] if (TRUE) { [22:34:58.508] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [22:34:58.508] } [22:34:58.508] else { [22:34:58.508] ...future.result["stdout"] <- base::list(NULL) [22:34:58.508] } [22:34:58.508] base::close(...future.stdout) [22:34:58.508] ...future.stdout <- NULL [22:34:58.508] } [22:34:58.508] ...future.result$conditions <- ...future.conditions [22:34:58.508] ...future.result$finished <- base::Sys.time() [22:34:58.508] ...future.result [22:34:58.508] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in ‘tests/mirai_cluster.R’ failed. Complete output: > source("incl/start.R") Loading required package: future [22:34:59.456] plan(): Setting new future strategy stack: [22:34:59.457] List of future strategies: [22:34:59.457] 1. mirai_multisession: [22:34:59.457] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [22:34:59.457] - tweaked: FALSE [22:34:59.457] - call: future::plan(future.mirai::mirai_multisession) [22:34:59.482] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [22:34:59.483] < mirai [$data] > [22:34:59.504] getGlobalsAndPackages() ... [22:34:59.505] Not searching for globals [22:34:59.505] - globals: [0] <none> [22:34:59.505] getGlobalsAndPackages() ... DONE [22:34:59.506] getGlobalsAndPackages() ... [22:34:59.506] [22:34:59.507] - globals: [0] <none> [22:34:59.507] getGlobalsAndPackages() ... DONE [22:35:00.623] Packages needed by the future expression (n = 0): <none> [22:35:00.623] Packages needed by future strategies (n = 0): <none> [22:35:00.625] { [22:35:00.625] { [22:35:00.625] { [22:35:00.625] ...future.startTime <- base::Sys.time() [22:35:00.625] { [22:35:00.625] { [22:35:00.625] { [22:35:00.625] base::local({ [22:35:00.625] has_future <- base::requireNamespace("future", [22:35:00.625] quietly = TRUE) [22:35:00.625] if (has_future) { [22:35:00.625] ns <- base::getNamespace("future") [22:35:00.625] version <- ns[[".package"]][["version"]] [22:35:00.625] if (is.null(version)) [22:35:00.625] version <- utils::packageVersion("future") [22:35:00.625] } [22:35:00.625] else { [22:35:00.625] version <- NULL [22:35:00.625] } [22:35:00.625] if (!has_future || version < "1.8.0") { [22:35:00.625] info <- base::c(r_version = base::gsub("R version ", [22:35:00.625] "", base::R.version$version.string), [22:35:00.625] platform = base::sprintf("%s (%s-bit)", [22:35:00.625] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [22:35:00.625] os = base::paste(base::Sys.info()[base::c("sysname", [22:35:00.625] "release", "version")], collapse = " "), [22:35:00.625] hostname = base::Sys.info()[["nodename"]]) [22:35:00.625] info <- base::sprintf("%s: %s", base::names(info), [22:35:00.625] info) [22:35:00.625] info <- base::paste(info, collapse = "; ") [22:35:00.625] if (!has_future) { [22:35:00.625] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [22:35:00.625] info) [22:35:00.625] } [22:35:00.625] else { [22:35:00.625] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [22:35:00.625] info, version) [22:35:00.625] } [22:35:00.625] base::stop(msg) [22:35:00.625] } [22:35:00.625] }) [22:35:00.625] } [22:35:00.625] ...future.strategy.old <- future::plan("list") [22:35:00.625] options(future.plan = NULL) [22:35:00.625] Sys.unsetenv("R_FUTURE_PLAN") [22:35:00.625] future::plan("default", .cleanup = FALSE, .init = FALSE) [22:35:00.625] } [22:35:00.625] ...future.workdir <- getwd() [22:35:00.625] } [22:35:00.625] ...future.oldOptions <- base::as.list(base::.Options) [22:35:00.625] ...future.oldEnvVars <- base::Sys.getenv() [22:35:00.625] } [22:35:00.625] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [22:35:00.625] future.globals.maxSize = NULL, future.globals.method = NULL, [22:35:00.625] future.globals.onMissing = NULL, future.globals.onReference = NULL, [22:35:00.625] future.globals.resolve = NULL, future.resolve.recursive = NULL, [22:35:00.625] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [22:35:00.625] future.stdout.windows.reencode = NULL, width = 80L) [22:35:00.625] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [22:35:00.625] base::names(...future.oldOptions)) [22:35:00.625] } [22:35:00.625] if (FALSE) { [22:35:00.625] } [22:35:00.625] else { [22:35:00.625] if (TRUE) { [22:35:00.625] ...future.stdout <- base::rawConnection(base::raw(0L), [22:35:00.625] open = "w") [22:35:00.625] } [22:35:00.625] else { [22:35:00.625] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [22:35:00.625] windows = "NUL", "/dev/null"), open = "w") [22:35:00.625] } [22:35:00.625] base::sink(...future.stdout, type = "output", split = FALSE) [22:35:00.625] base::on.exit(if (!base::is.null(...future.stdout)) { [22:35:00.625] base::sink(type = "output", split = FALSE) [22:35:00.625] base::close(...future.stdout) [22:35:00.625] }, add = TRUE) [22:35:00.625] } [22:35:00.625] ...future.frame <- base::sys.nframe() [22:35:00.625] ...future.conditions <- base::list() [22:35:00.625] ...future.rng <- base::globalenv()$.Random.seed [22:35:00.625] if (FALSE) { [22:35:00.625] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [22:35:00.625] "...future.value", "...future.globalenv.names", ".Random.seed") [22:35:00.625] } [22:35:00.625] ...future.result <- base::tryCatch({ [22:35:00.625] base::withCallingHandlers({ [22:35:00.625] ...future.value <- base::withVisible(base::local(NA)) [22:35:00.625] future::FutureResult(value = ...future.value$value, [22:35:00.625] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [22:35:00.625] ...future.rng), globalenv = if (FALSE) [22:35:00.625] list(added = base::setdiff(base::names(base::.GlobalEnv), [22:35:00.625] ...future.globalenv.names)) [22:35:00.625] else NULL, started = ...future.startTime, version = "1.8") [22:35:00.625] }, condition = base::local({ [22:35:00.625] c <- base::c [22:35:00.625] inherits <- base::inherits [22:35:00.625] invokeRestart <- base::invokeRestart [22:35:00.625] length <- base::length [22:35:00.625] list <- base::list [22:35:00.625] seq.int <- base::seq.int [22:35:00.625] signalCondition <- base::signalCondition [22:35:00.625] sys.calls <- base::sys.calls [22:35:00.625] `[[` <- base::`[[` [22:35:00.625] `+` <- base::`+` [22:35:00.625] `<<-` <- base::`<<-` [22:35:00.625] sysCalls <- function(calls = sys.calls(), from = 1L) { [22:35:00.625] calls[seq.int(from = from + 12L, to = length(calls) - [22:35:00.625] 3L)] [22:35:00.625] } [22:35:00.625] function(cond) { [22:35:00.625] is_error <- inherits(cond, "error") [22:35:00.625] ignore <- !is_error && !is.null(NULL) && inherits(cond, [22:35:00.625] NULL) [22:35:00.625] if (is_error) { [22:35:00.625] sessionInformation <- function() { [22:35:00.625] list(r = base::R.Version(), locale = base::Sys.getlocale(), [22:35:00.625] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [22:35:00.625] search = base::search(), system = base::Sys.info()) [22:35:00.625] } [22:35:00.625] ...future.conditions[[length(...future.conditions) + [22:35:00.625] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [22:35:00.625] cond$call), session = sessionInformation(), [22:35:00.625] timestamp = base::Sys.time(), signaled = 0L) [22:35:00.625] signalCondition(cond) [22:35:00.625] } [22:35:00.625] else if (!ignore && TRUE && inherits(cond, "condition")) { [22:35:00.625] signal <- FALSE && inherits(cond, character(0)) [22:35:00.625] ...future.conditions[[length(...future.conditions) + [22:35:00.625] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [22:35:00.625] if (FALSE && !signal) { [22:35:00.625] muffleCondition <- function (cond, pattern = "^muffle") [22:35:00.625] { [22:35:00.625] inherits <- base::inherits [22:35:00.625] invokeRestart <- base::invokeRestart [22:35:00.625] is.null <- base::is.null [22:35:00.625] muffled <- FALSE [22:35:00.625] if (inherits(cond, "message")) { [22:35:00.625] muffled <- grepl(pattern, "muffleMessage") [22:35:00.625] if (muffled) [22:35:00.625] invokeRestart("muffleMessage") [22:35:00.625] } [22:35:00.625] else if (inherits(cond, "warning")) { [22:35:00.625] muffled <- grepl(pattern, "muffleWarning") [22:35:00.625] if (muffled) [22:35:00.625] invokeRestart("muffleWarning") [22:35:00.625] } [22:35:00.625] else if (inherits(cond, "condition")) { [22:35:00.625] if (!is.null(pattern)) { [22:35:00.625] computeRestarts <- base::computeRestarts [22:35:00.625] grepl <- base::grepl [22:35:00.625] restarts <- computeRestarts(cond) [22:35:00.625] for (restart in restarts) { [22:35:00.625] name <- restart$name [22:35:00.625] if (is.null(name)) [22:35:00.625] next [22:35:00.625] if (!grepl(pattern, name)) [22:35:00.625] next [22:35:00.625] invokeRestart(restart) [22:35:00.625] muffled <- TRUE [22:35:00.625] break [22:35:00.625] } [22:35:00.625] } [22:35:00.625] } [22:35:00.625] invisible(muffled) [22:35:00.625] } [22:35:00.625] muffleCondition(cond, pattern = "^muffle") [22:35:00.625] } [22:35:00.625] } [22:35:00.625] else { [22:35:00.625] if (TRUE) { [22:35:00.625] muffleCondition <- function (cond, pattern = "^muffle") [22:35:00.625] { [22:35:00.625] inherits <- base::inherits [22:35:00.625] invokeRestart <- base::invokeRestart [22:35:00.625] is.null <- base::is.null [22:35:00.625] muffled <- FALSE [22:35:00.625] if (inherits(cond, "message")) { [22:35:00.625] muffled <- grepl(pattern, "muffleMessage") [22:35:00.625] if (muffled) [22:35:00.625] invokeRestart("muffleMessage") [22:35:00.625] } [22:35:00.625] else if (inherits(cond, "warning")) { [22:35:00.625] muffled <- grepl(pattern, "muffleWarning") [22:35:00.625] if (muffled) [22:35:00.625] invokeRestart("muffleWarning") [22:35:00.625] } [22:35:00.625] else if (inherits(cond, "condition")) { [22:35:00.625] if (!is.null(pattern)) { [22:35:00.625] computeRestarts <- base::computeRestarts [22:35:00.625] grepl <- base::grepl [22:35:00.625] restarts <- computeRestarts(cond) [22:35:00.625] for (restart in restarts) { [22:35:00.625] name <- restart$name [22:35:00.625] if (is.null(name)) [22:35:00.625] next [22:35:00.625] if (!grepl(pattern, name)) [22:35:00.625] next [22:35:00.625] invokeRestart(restart) [22:35:00.625] muffled <- TRUE [22:35:00.625] break [22:35:00.625] } [22:35:00.625] } [22:35:00.625] } [22:35:00.625] invisible(muffled) [22:35:00.625] } [22:35:00.625] muffleCondition(cond, pattern = "^muffle") [22:35:00.625] } [22:35:00.625] } [22:35:00.625] } [22:35:00.625] })) [22:35:00.625] }, error = function(ex) { [22:35:00.625] base::structure(base::list(value = NULL, visible = NULL, [22:35:00.625] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [22:35:00.625] ...future.rng), started = ...future.startTime, [22:35:00.625] finished = Sys.time(), session_uuid = NA_character_, [22:35:00.625] version = "1.8"), class = "FutureResult") [22:35:00.625] }, finally = { [22:35:00.625] if (!identical(...future.workdir, getwd())) [22:35:00.625] setwd(...future.workdir) [22:35:00.625] { [22:35:00.625] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [22:35:00.625] ...future.oldOptions$nwarnings <- NULL [22:35:00.625] } [22:35:00.625] base::options(...future.oldOptions) [22:35:00.625] if (.Platform$OS.type == "windows") { [22:35:00.625] old_names <- names(...future.oldEnvVars) [22:35:00.625] envs <- base::Sys.getenv() [22:35:00.625] names <- names(envs) [22:35:00.625] common <- intersect(names, old_names) [22:35:00.625] added <- setdiff(names, old_names) [22:35:00.625] removed <- setdiff(old_names, names) [22:35:00.625] changed <- common[...future.oldEnvVars[common] != [22:35:00.625] envs[common]] [22:35:00.625] NAMES <- toupper(changed) [22:35:00.625] args <- list() [22:35:00.625] for (kk in seq_along(NAMES)) { [22:35:00.625] name <- changed[[kk]] [22:35:00.625] NAME <- NAMES[[kk]] [22:35:00.625] if (name != NAME && is.element(NAME, old_names)) [22:35:00.625] next [22:35:00.625] args[[name]] <- ...future.oldEnvVars[[name]] [22:35:00.625] } [22:35:00.625] NAMES <- toupper(added) [22:35:00.625] for (kk in seq_along(NAMES)) { [22:35:00.625] name <- added[[kk]] [22:35:00.625] NAME <- NAMES[[kk]] [22:35:00.625] if (name != NAME && is.element(NAME, old_names)) [22:35:00.625] next [22:35:00.625] args[[name]] <- "" [22:35:00.625] } [22:35:00.625] NAMES <- toupper(removed) [22:35:00.625] for (kk in seq_along(NAMES)) { [22:35:00.625] name <- removed[[kk]] [22:35:00.625] NAME <- NAMES[[kk]] [22:35:00.625] if (name != NAME && is.element(NAME, old_names)) [22:35:00.625] next [22:35:00.625] args[[name]] <- ...future.oldEnvVars[[name]] [22:35:00.625] } [22:35:00.625] if (length(args) > 0) [22:35:00.625] base::do.call(base::Sys.setenv, args = args) [22:35:00.625] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [22:35:00.625] } [22:35:00.625] else { [22:35:00.625] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [22:35:00.625] } [22:35:00.625] { [22:35:00.625] if (base::length(...future.futureOptionsAdded) > [22:35:00.625] 0L) { [22:35:00.625] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [22:35:00.625] base::names(opts) <- ...future.futureOptionsAdded [22:35:00.625] base::options(opts) [22:35:00.625] } [22:35:00.625] { [22:35:00.625] NULL [22:35:00.625] options(future.plan = NULL) [22:35:00.625] if (is.na(NA_character_)) [22:35:00.625] Sys.unsetenv("R_FUTURE_PLAN") [22:35:00.625] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [22:35:00.625] future::plan(...future.strategy.old, .cleanup = FALSE, [22:35:00.625] .init = FALSE) [22:35:00.625] } [22:35:00.625] } [22:35:00.625] } [22:35:00.625] }) [22:35:00.625] if (TRUE) { [22:35:00.625] base::sink(type = "output", split = FALSE) [22:35:00.625] if (TRUE) { [22:35:00.625] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [22:35:00.625] } [22:35:00.625] else { [22:35:00.625] ...future.result["stdout"] <- base::list(NULL) [22:35:00.625] } [22:35:00.625] base::close(...future.stdout) [22:35:00.625] ...future.stdout <- NULL [22:35:00.625] } [22:35:00.625] ...future.result$conditions <- ...future.conditions [22:35:00.625] ...future.result$finished <- base::Sys.time() [22:35:00.625] ...future.result [22:35:00.625] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in ‘tests/nbrOfWorkers.R’ failed. Complete output: > source("incl/start.R") Loading required package: future [22:35:01.369] plan(): Setting new future strategy stack: [22:35:01.370] List of future strategies: [22:35:01.370] 1. mirai_multisession: [22:35:01.370] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [22:35:01.370] - tweaked: FALSE [22:35:01.370] - call: future::plan(future.mirai::mirai_multisession) [22:35:01.396] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [22:35:01.396] < mirai [$data] > [22:35:01.466] getGlobalsAndPackages() ... [22:35:01.467] Not searching for globals [22:35:01.467] - globals: [0] <none> [22:35:01.467] getGlobalsAndPackages() ... DONE [22:35:01.468] getGlobalsAndPackages() ... [22:35:01.468] [22:35:01.469] - globals: [0] <none> [22:35:01.469] getGlobalsAndPackages() ... DONE [22:35:02.456] Packages needed by the future expression (n = 0): <none> [22:35:02.457] Packages needed by future strategies (n = 0): <none> [22:35:02.458] { [22:35:02.458] { [22:35:02.458] { [22:35:02.458] ...future.startTime <- base::Sys.time() [22:35:02.458] { [22:35:02.458] { [22:35:02.458] { [22:35:02.458] base::local({ [22:35:02.458] has_future <- base::requireNamespace("future", [22:35:02.458] quietly = TRUE) [22:35:02.458] if (has_future) { [22:35:02.458] ns <- base::getNamespace("future") [22:35:02.458] version <- ns[[".package"]][["version"]] [22:35:02.458] if (is.null(version)) [22:35:02.458] version <- utils::packageVersion("future") [22:35:02.458] } [22:35:02.458] else { [22:35:02.458] version <- NULL [22:35:02.458] } [22:35:02.458] if (!has_future || version < "1.8.0") { [22:35:02.458] info <- base::c(r_version = base::gsub("R version ", [22:35:02.458] "", base::R.version$version.string), [22:35:02.458] platform = base::sprintf("%s (%s-bit)", [22:35:02.458] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [22:35:02.458] os = base::paste(base::Sys.info()[base::c("sysname", [22:35:02.458] "release", "version")], collapse = " "), [22:35:02.458] hostname = base::Sys.info()[["nodename"]]) [22:35:02.458] info <- base::sprintf("%s: %s", base::names(info), [22:35:02.458] info) [22:35:02.458] info <- base::paste(info, collapse = "; ") [22:35:02.458] if (!has_future) { [22:35:02.458] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [22:35:02.458] info) [22:35:02.458] } [22:35:02.458] else { [22:35:02.458] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [22:35:02.458] info, version) [22:35:02.458] } [22:35:02.458] base::stop(msg) [22:35:02.458] } [22:35:02.458] }) [22:35:02.458] } [22:35:02.458] ...future.strategy.old <- future::plan("list") [22:35:02.458] options(future.plan = NULL) [22:35:02.458] Sys.unsetenv("R_FUTURE_PLAN") [22:35:02.458] future::plan("default", .cleanup = FALSE, .init = FALSE) [22:35:02.458] } [22:35:02.458] ...future.workdir <- getwd() [22:35:02.458] } [22:35:02.458] ...future.oldOptions <- base::as.list(base::.Options) [22:35:02.458] ...future.oldEnvVars <- base::Sys.getenv() [22:35:02.458] } [22:35:02.458] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [22:35:02.458] future.globals.maxSize = NULL, future.globals.method = NULL, [22:35:02.458] future.globals.onMissing = NULL, future.globals.onReference = NULL, [22:35:02.458] future.globals.resolve = NULL, future.resolve.recursive = NULL, [22:35:02.458] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [22:35:02.458] future.stdout.windows.reencode = NULL, width = 80L) [22:35:02.458] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [22:35:02.458] base::names(...future.oldOptions)) [22:35:02.458] } [22:35:02.458] if (FALSE) { [22:35:02.458] } [22:35:02.458] else { [22:35:02.458] if (TRUE) { [22:35:02.458] ...future.stdout <- base::rawConnection(base::raw(0L), [22:35:02.458] open = "w") [22:35:02.458] } [22:35:02.458] else { [22:35:02.458] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [22:35:02.458] windows = "NUL", "/dev/null"), open = "w") [22:35:02.458] } [22:35:02.458] base::sink(...future.stdout, type = "output", split = FALSE) [22:35:02.458] base::on.exit(if (!base::is.null(...future.stdout)) { [22:35:02.458] base::sink(type = "output", split = FALSE) [22:35:02.458] base::close(...future.stdout) [22:35:02.458] }, add = TRUE) [22:35:02.458] } [22:35:02.458] ...future.frame <- base::sys.nframe() [22:35:02.458] ...future.conditions <- base::list() [22:35:02.458] ...future.rng <- base::globalenv()$.Random.seed [22:35:02.458] if (FALSE) { [22:35:02.458] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [22:35:02.458] "...future.value", "...future.globalenv.names", ".Random.seed") [22:35:02.458] } [22:35:02.458] ...future.result <- base::tryCatch({ [22:35:02.458] base::withCallingHandlers({ [22:35:02.458] ...future.value <- base::withVisible(base::local(NA)) [22:35:02.458] future::FutureResult(value = ...future.value$value, [22:35:02.458] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [22:35:02.458] ...future.rng), globalenv = if (FALSE) [22:35:02.458] list(added = base::setdiff(base::names(base::.GlobalEnv), [22:35:02.458] ...future.globalenv.names)) [22:35:02.458] else NULL, started = ...future.startTime, version = "1.8") [22:35:02.458] }, condition = base::local({ [22:35:02.458] c <- base::c [22:35:02.458] inherits <- base::inherits [22:35:02.458] invokeRestart <- base::invokeRestart [22:35:02.458] length <- base::length [22:35:02.458] list <- base::list [22:35:02.458] seq.int <- base::seq.int [22:35:02.458] signalCondition <- base::signalCondition [22:35:02.458] sys.calls <- base::sys.calls [22:35:02.458] `[[` <- base::`[[` [22:35:02.458] `+` <- base::`+` [22:35:02.458] `<<-` <- base::`<<-` [22:35:02.458] sysCalls <- function(calls = sys.calls(), from = 1L) { [22:35:02.458] calls[seq.int(from = from + 12L, to = length(calls) - [22:35:02.458] 3L)] [22:35:02.458] } [22:35:02.458] function(cond) { [22:35:02.458] is_error <- inherits(cond, "error") [22:35:02.458] ignore <- !is_error && !is.null(NULL) && inherits(cond, [22:35:02.458] NULL) [22:35:02.458] if (is_error) { [22:35:02.458] sessionInformation <- function() { [22:35:02.458] list(r = base::R.Version(), locale = base::Sys.getlocale(), [22:35:02.458] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [22:35:02.458] search = base::search(), system = base::Sys.info()) [22:35:02.458] } [22:35:02.458] ...future.conditions[[length(...future.conditions) + [22:35:02.458] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [22:35:02.458] cond$call), session = sessionInformation(), [22:35:02.458] timestamp = base::Sys.time(), signaled = 0L) [22:35:02.458] signalCondition(cond) [22:35:02.458] } [22:35:02.458] else if (!ignore && TRUE && inherits(cond, "condition")) { [22:35:02.458] signal <- FALSE && inherits(cond, character(0)) [22:35:02.458] ...future.conditions[[length(...future.conditions) + [22:35:02.458] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [22:35:02.458] if (FALSE && !signal) { [22:35:02.458] muffleCondition <- function (cond, pattern = "^muffle") [22:35:02.458] { [22:35:02.458] inherits <- base::inherits [22:35:02.458] invokeRestart <- base::invokeRestart [22:35:02.458] is.null <- base::is.null [22:35:02.458] muffled <- FALSE [22:35:02.458] if (inherits(cond, "message")) { [22:35:02.458] muffled <- grepl(pattern, "muffleMessage") [22:35:02.458] if (muffled) [22:35:02.458] invokeRestart("muffleMessage") [22:35:02.458] } [22:35:02.458] else if (inherits(cond, "warning")) { [22:35:02.458] muffled <- grepl(pattern, "muffleWarning") [22:35:02.458] if (muffled) [22:35:02.458] invokeRestart("muffleWarning") [22:35:02.458] } [22:35:02.458] else if (inherits(cond, "condition")) { [22:35:02.458] if (!is.null(pattern)) { [22:35:02.458] computeRestarts <- base::computeRestarts [22:35:02.458] grepl <- base::grepl [22:35:02.458] restarts <- computeRestarts(cond) [22:35:02.458] for (restart in restarts) { [22:35:02.458] name <- restart$name [22:35:02.458] if (is.null(name)) [22:35:02.458] next [22:35:02.458] if (!grepl(pattern, name)) [22:35:02.458] next [22:35:02.458] invokeRestart(restart) [22:35:02.458] muffled <- TRUE [22:35:02.458] break [22:35:02.458] } [22:35:02.458] } [22:35:02.458] } [22:35:02.458] invisible(muffled) [22:35:02.458] } [22:35:02.458] muffleCondition(cond, pattern = "^muffle") [22:35:02.458] } [22:35:02.458] } [22:35:02.458] else { [22:35:02.458] if (TRUE) { [22:35:02.458] muffleCondition <- function (cond, pattern = "^muffle") [22:35:02.458] { [22:35:02.458] inherits <- base::inherits [22:35:02.458] invokeRestart <- base::invokeRestart [22:35:02.458] is.null <- base::is.null [22:35:02.458] muffled <- FALSE [22:35:02.458] if (inherits(cond, "message")) { [22:35:02.458] muffled <- grepl(pattern, "muffleMessage") [22:35:02.458] if (muffled) [22:35:02.458] invokeRestart("muffleMessage") [22:35:02.458] } [22:35:02.458] else if (inherits(cond, "warning")) { [22:35:02.458] muffled <- grepl(pattern, "muffleWarning") [22:35:02.458] if (muffled) [22:35:02.458] invokeRestart("muffleWarning") [22:35:02.458] } [22:35:02.458] else if (inherits(cond, "condition")) { [22:35:02.458] if (!is.null(pattern)) { [22:35:02.458] computeRestarts <- base::computeRestarts [22:35:02.458] grepl <- base::grepl [22:35:02.458] restarts <- computeRestarts(cond) [22:35:02.458] for (restart in restarts) { [22:35:02.458] name <- restart$name [22:35:02.458] if (is.null(name)) [22:35:02.458] next [22:35:02.458] if (!grepl(pattern, name)) [22:35:02.458] next [22:35:02.458] invokeRestart(restart) [22:35:02.458] muffled <- TRUE [22:35:02.458] break [22:35:02.458] } [22:35:02.458] } [22:35:02.458] } [22:35:02.458] invisible(muffled) [22:35:02.458] } [22:35:02.458] muffleCondition(cond, pattern = "^muffle") [22:35:02.458] } [22:35:02.458] } [22:35:02.458] } [22:35:02.458] })) [22:35:02.458] }, error = function(ex) { [22:35:02.458] base::structure(base::list(value = NULL, visible = NULL, [22:35:02.458] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [22:35:02.458] ...future.rng), started = ...future.startTime, [22:35:02.458] finished = Sys.time(), session_uuid = NA_character_, [22:35:02.458] version = "1.8"), class = "FutureResult") [22:35:02.458] }, finally = { [22:35:02.458] if (!identical(...future.workdir, getwd())) [22:35:02.458] setwd(...future.workdir) [22:35:02.458] { [22:35:02.458] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [22:35:02.458] ...future.oldOptions$nwarnings <- NULL [22:35:02.458] } [22:35:02.458] base::options(...future.oldOptions) [22:35:02.458] if (.Platform$OS.type == "windows") { [22:35:02.458] old_names <- names(...future.oldEnvVars) [22:35:02.458] envs <- base::Sys.getenv() [22:35:02.458] names <- names(envs) [22:35:02.458] common <- intersect(names, old_names) [22:35:02.458] added <- setdiff(names, old_names) [22:35:02.458] removed <- setdiff(old_names, names) [22:35:02.458] changed <- common[...future.oldEnvVars[common] != [22:35:02.458] envs[common]] [22:35:02.458] NAMES <- toupper(changed) [22:35:02.458] args <- list() [22:35:02.458] for (kk in seq_along(NAMES)) { [22:35:02.458] name <- changed[[kk]] [22:35:02.458] NAME <- NAMES[[kk]] [22:35:02.458] if (name != NAME && is.element(NAME, old_names)) [22:35:02.458] next [22:35:02.458] args[[name]] <- ...future.oldEnvVars[[name]] [22:35:02.458] } [22:35:02.458] NAMES <- toupper(added) [22:35:02.458] for (kk in seq_along(NAMES)) { [22:35:02.458] name <- added[[kk]] [22:35:02.458] NAME <- NAMES[[kk]] [22:35:02.458] if (name != NAME && is.element(NAME, old_names)) [22:35:02.458] next [22:35:02.458] args[[name]] <- "" [22:35:02.458] } [22:35:02.458] NAMES <- toupper(removed) [22:35:02.458] for (kk in seq_along(NAMES)) { [22:35:02.458] name <- removed[[kk]] [22:35:02.458] NAME <- NAMES[[kk]] [22:35:02.458] if (name != NAME && is.element(NAME, old_names)) [22:35:02.458] next [22:35:02.458] args[[name]] <- ...future.oldEnvVars[[name]] [22:35:02.458] } [22:35:02.458] if (length(args) > 0) [22:35:02.458] base::do.call(base::Sys.setenv, args = args) [22:35:02.458] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [22:35:02.458] } [22:35:02.458] else { [22:35:02.458] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [22:35:02.458] } [22:35:02.458] { [22:35:02.458] if (base::length(...future.futureOptionsAdded) > [22:35:02.458] 0L) { [22:35:02.458] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [22:35:02.458] base::names(opts) <- ...future.futureOptionsAdded [22:35:02.458] base::options(opts) [22:35:02.458] } [22:35:02.458] { [22:35:02.458] NULL [22:35:02.458] options(future.plan = NULL) [22:35:02.458] if (is.na(NA_character_)) [22:35:02.458] Sys.unsetenv("R_FUTURE_PLAN") [22:35:02.458] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [22:35:02.458] future::plan(...future.strategy.old, .cleanup = FALSE, [22:35:02.458] .init = FALSE) [22:35:02.458] } [22:35:02.458] } [22:35:02.458] } [22:35:02.458] }) [22:35:02.458] if (TRUE) { [22:35:02.458] base::sink(type = "output", split = FALSE) [22:35:02.458] if (TRUE) { [22:35:02.458] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [22:35:02.458] } [22:35:02.458] else { [22:35:02.458] ...future.result["stdout"] <- base::list(NULL) [22:35:02.458] } [22:35:02.458] base::close(...future.stdout) [22:35:02.458] ...future.stdout <- NULL [22:35:02.458] } [22:35:02.458] ...future.result$conditions <- ...future.conditions [22:35:02.458] ...future.result$finished <- base::Sys.time() [22:35:02.458] ...future.result [22:35:02.458] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in ‘tests/plan.R’ failed. Complete output: > source("incl/start,load-only.R") [22:35:03.153] Detected 'R CMD check': - adjusting defaults to be a good citizen [22:35:03.155] Set package option 'parallelly.availableCores.methods' [22:35:03.156] Environment variable 'R_PARALLELLY_AVAILABLECORES_METHODS' not set [22:35:03.156] Set package option 'parallelly.availableCores.fallback' [22:35:03.157] Environment variable 'R_PARALLELLY_AVAILABLECORES_FALLBACK' not set [22:35:03.157] Set package option 'parallelly.availableCores.min' [22:35:03.158] Environment variable 'R_PARALLELLY_AVAILABLECORES_MIN' not set [22:35:03.158] Set package option 'parallelly.availableCores.system' [22:35:03.158] Environment variable 'R_PARALLELLY_AVAILABLECORES_SYSTEM' not set [22:35:03.159] Set package option 'parallelly.availableCores.logical' [22:35:03.159] Environment variable 'R_PARALLELLY_AVAILABLECORES_LOGICAL' not set [22:35:03.160] Set package option 'parallelly.availableCores.omit' [22:35:03.160] Environment variable 'R_PARALLELLY_AVAILABLECORES_OMIT' not set [22:35:03.160] Set package option 'parallelly.availableWorkers.methods' [22:35:03.161] Environment variable 'R_PARALLELLY_AVAILABLEWORKERS_METHODS' not set [22:35:03.161] Set package option 'parallelly.maxWorkers.localhost' [22:35:03.162] Environment variable 'R_PARALLELLY_MAXWORKERS_LOCALHOST' not set [22:35:03.162] Set package option 'parallelly.maxWorkers.localhost.ignore' [22:35:03.162] Environment variable 'R_PARALLELLY_MAXWORKERS_LOCALHOST_IGNORE' not set [22:35:03.163] Set package option 'parallelly.fork.enable' [22:35:03.163] Environment variable 'R_PARALLELLY_FORK_ENABLE' not set [22:35:03.164] Set package option 'parallelly.supportsMulticore.disableOn' [22:35:03.164] Environment variable 'R_PARALLELLY_SUPPORTSMULTICORE_DISABLEON' not set [22:35:03.164] Set package option 'parallelly.supportsMulticore.unstable' [22:35:03.165] Environment variable 'R_PARALLELLY_SUPPORTSMULTICORE_UNSTABLE' not set [22:35:03.165] Set package option 'parallelly.makeNodePSOCK.setup_strategy' [22:35:03.166] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_SETUP_STRATEGY' not set [22:35:03.166] Set package option 'parallelly.makeNodePSOCK.validate' [22:35:03.166] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_VALIDATE' not set [22:35:03.167] Set package option 'parallelly.makeNodePSOCK.connectTimeout' [22:35:03.167] R_PARALLELLY_MAKENODEPSOCK_CONNECTTIMEOUT='120' [22:35:03.168] Coercing from character to numeric: '120' [22:35:03.168] => options("parallelly.makeNodePSOCK.connectTimeout" = '120') [n=1, mode=double] [22:35:03.168] Set package option 'parallelly.makeNodePSOCK.timeout' [22:35:03.169] R_PARALLELLY_MAKENODEPSOCK_TIMEOUT='120' [22:35:03.169] Coercing from character to numeric: '120' [22:35:03.169] => options("parallelly.makeNodePSOCK.timeout" = '120') [n=1, mode=double] [22:35:03.170] Set package option 'parallelly.makeNodePSOCK.useXDR' [22:35:03.170] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_USEXDR' not set [22:35:03.171] Set package option 'parallelly.makeNodePSOCK.socketOptions' [22:35:03.171] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_SOCKETOPTIONS' not set [22:35:03.171] Set package option 'parallelly.makeNodePSOCK.rshcmd' [22:35:03.172] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_RSHCMD' not set [22:35:03.172] Set package option 'parallelly.makeNodePSOCK.rshopts' [22:35:03.173] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_RSHOPTS' not set [22:35:03.173] Set package option 'parallelly.makeNodePSOCK.tries' [22:35:03.173] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_TRIES' not set [22:35:03.174] Set package option 'parallelly.makeNodePSOCK.tries.delay' [22:35:03.174] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_TRIES_DELAY' not set [22:35:03.175] Set package option 'parallelly.makeNodePSOCK.rscript_label' [22:35:03.175] R_PARALLELLY_MAKENODEPSOCK_RSCRIPT_LABEL='TRUE' [22:35:03.175] => options("parallelly.makeNodePSOCK.rscript_label" = 'TRUE') [n=1, mode=character] [22:35:03.176] Set package option 'parallelly.makeNodePSOCK.sessionInfo.pkgs' [22:35:03.176] R_PARALLELLY_MAKENODEPSOCK_SESSIONINFO_PKGS='TRUE' [22:35:03.176] => options("parallelly.makeNodePSOCK.sessionInfo.pkgs" = 'TRUE') [n=1, mode=character] [22:35:03.177] Set package option 'parallelly.makeNodePSOCK.autoKill' [22:35:03.177] R_PARALLELLY_MAKENODEPSOCK_AUTOKILL='TRUE' [22:35:03.177] Coercing from character to logical: 'TRUE' [22:35:03.178] => options("parallelly.makeNodePSOCK.autoKill" = 'TRUE') [n=1, mode=logical] [22:35:03.178] Set package option 'parallelly.makeNodePSOCK.master.localhost.hostname' [22:35:03.178] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_MASTER_LOCALHOST_HOSTNAME' not set [22:35:03.179] Set package option 'parallelly.makeNodePSOCK.port.increment' [22:35:03.179] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_PORT_INCREMENT' not set [22:35:03.181] 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' [22:35:03.193] Future-specific environment variables: [22:35:03.193] Environment variable 'R_FUTURE_DEMO_MANDELBROT_REGION' not set [22:35:03.193] Environment variable 'R_FUTURE_DEMO_MANDELBROT_NROW' not set [22:35:03.194] Environment variable 'R_FUTURE_DEPRECATED_IGNORE' not set [22:35:03.194] Environment variable 'R_FUTURE_DEPRECATED_DEFUNCT' not set [22:35:03.194] Environment variable 'R_FUTURE_FORK_MULTITHREADING_ENABLE' not set [22:35:03.194] Environment variable 'R_FUTURE_GLOBALS_MAXSIZE' not set [22:35:03.195] Environment variable 'R_FUTURE_GLOBALS_ONMISSING' not set [22:35:03.195] Environment variable 'R_FUTURE_GLOBALS_ONREFERENCE' not set [22:35:03.195] Environment variable 'R_FUTURE_GLOBALS_METHOD' not set [22:35:03.196] Environment variable 'R_FUTURE_GLOBALS_RESOLVE' not set [22:35:03.196] Environment variable 'R_FUTURE_LAZY_ASSERTOWNER' not set [22:35:03.196] Environment variable 'R_FUTURE_PLAN' not set [22:35:03.197] Environment variable 'R_FUTURE_PLAN_DISALLOW' not set [22:35:03.197] Environment variable 'R_FUTURE_PSOCK_RELAY_IMMEDIATE' not set [22:35:03.197] Environment variable 'R_FUTURE_RELAY_IMMEDIATE' not set [22:35:03.197] Environment variable 'R_FUTURE_RESOLVE_RECURSIVE' not set [22:35:03.198] Environment variable 'R_FUTURE_ALIVE_TIMEOUT' not set [22:35:03.198] Environment variable 'R_FUTURE_RESOLVED_TIMEOUT' not set [22:35:03.198] Environment variable 'R_FUTURE_CLUSTER_RESOLVED_TIMEOUT' not set [22:35:03.198] Environment variable 'R_FUTURE_MULTICORE_RESOLVED_TIMEOUT' not set [22:35:03.199] Environment variable 'R_FUTURE_ONFUTURECONDITION_KEEPFUTURE' not set [22:35:03.199] Environment variable 'R_FUTURE_RNG_ONMISUSE' not set [22:35:03.199] Environment variable 'R_FUTURE_GLOBALENV_ONMISUSE' not set [22:35:03.199] Environment variable 'R_FUTURE_WAIT_TIMEOUT' not set [22:35:03.200] Environment variable 'R_FUTURE_WAIT_INTERVAL' not set [22:35:03.200] Environment variable 'R_FUTURE_WAIT_ALPHA' not set [22:35:03.200] Environment variable 'R_FUTURE_ASSIGN_GLOBALS_EXCLUDE' not set [22:35:03.200] Environment variable 'R_FUTURE_OUTPUT_WINDOWS_REENCODE' not set [22:35:03.201] Environment variable 'R_FUTURE_GLOBALS_GLOBALSOF_LOCALS' not set [22:35:03.201] Environment variable 'R_FUTURE_STATE_ONINVALID' not set [22:35:03.201] Environment variable 'R_FUTURE_JOURNAL' not set [22:35:03.201] Environment variable 'R_FUTURE_GLOBALS_KEEPWHERE' not set [22:35:03.203] R process uuid: f335ed43-b455-ff42-68ce-5dc60fd5a7d1 [22:35:03.203] Setting plan('default') [22:35:03.204] plan(): Setting new future strategy stack: [22:35:03.204] List of future strategies: [22:35:03.204] 1. sequential: [22:35:03.204] - args: function (..., envir = parent.frame(), workers = "<NULL>") [22:35:03.204] - tweaked: FALSE [22:35:03.204] - call: NULL [22:35:03.207] plan(): nbrOfWorkers() = 1 [22:35:03.296] plan(): Setting new future strategy stack: [22:35:03.297] List of future strategies: [22:35:03.297] 1. mirai_multisession: [22:35:03.297] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [22:35:03.297] - tweaked: FALSE [22:35:03.297] - call: future::plan(future.mirai::mirai_multisession) [22:35:03.322] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [22:35:03.322] < mirai [$data] > [22:35:03.375] getGlobalsAndPackages() ... [22:35:03.375] Not searching for globals [22:35:03.376] - globals: [0] <none> [22:35:03.376] getGlobalsAndPackages() ... DONE [22:35:03.377] getGlobalsAndPackages() ... [22:35:03.377] [22:35:03.377] - globals: [0] <none> [22:35:03.377] getGlobalsAndPackages() ... DONE [22:35:04.545] Packages needed by the future expression (n = 0): <none> [22:35:04.545] Packages needed by future strategies (n = 0): <none> [22:35:04.547] { [22:35:04.547] { [22:35:04.547] { [22:35:04.547] ...future.startTime <- base::Sys.time() [22:35:04.547] { [22:35:04.547] { [22:35:04.547] { [22:35:04.547] base::local({ [22:35:04.547] has_future <- base::requireNamespace("future", [22:35:04.547] quietly = TRUE) [22:35:04.547] if (has_future) { [22:35:04.547] ns <- base::getNamespace("future") [22:35:04.547] version <- ns[[".package"]][["version"]] [22:35:04.547] if (is.null(version)) [22:35:04.547] version <- utils::packageVersion("future") [22:35:04.547] } [22:35:04.547] else { [22:35:04.547] version <- NULL [22:35:04.547] } [22:35:04.547] if (!has_future || version < "1.8.0") { [22:35:04.547] info <- base::c(r_version = base::gsub("R version ", [22:35:04.547] "", base::R.version$version.string), [22:35:04.547] platform = base::sprintf("%s (%s-bit)", [22:35:04.547] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [22:35:04.547] os = base::paste(base::Sys.info()[base::c("sysname", [22:35:04.547] "release", "version")], collapse = " "), [22:35:04.547] hostname = base::Sys.info()[["nodename"]]) [22:35:04.547] info <- base::sprintf("%s: %s", base::names(info), [22:35:04.547] info) [22:35:04.547] info <- base::paste(info, collapse = "; ") [22:35:04.547] if (!has_future) { [22:35:04.547] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [22:35:04.547] info) [22:35:04.547] } [22:35:04.547] else { [22:35:04.547] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [22:35:04.547] info, version) [22:35:04.547] } [22:35:04.547] base::stop(msg) [22:35:04.547] } [22:35:04.547] }) [22:35:04.547] } [22:35:04.547] ...future.strategy.old <- future::plan("list") [22:35:04.547] options(future.plan = NULL) [22:35:04.547] Sys.unsetenv("R_FUTURE_PLAN") [22:35:04.547] future::plan("default", .cleanup = FALSE, .init = FALSE) [22:35:04.547] } [22:35:04.547] ...future.workdir <- getwd() [22:35:04.547] } [22:35:04.547] ...future.oldOptions <- base::as.list(base::.Options) [22:35:04.547] ...future.oldEnvVars <- base::Sys.getenv() [22:35:04.547] } [22:35:04.547] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [22:35:04.547] future.globals.maxSize = NULL, future.globals.method = NULL, [22:35:04.547] future.globals.onMissing = NULL, future.globals.onReference = NULL, [22:35:04.547] future.globals.resolve = NULL, future.resolve.recursive = NULL, [22:35:04.547] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [22:35:04.547] future.stdout.windows.reencode = NULL, width = 80L) [22:35:04.547] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [22:35:04.547] base::names(...future.oldOptions)) [22:35:04.547] } [22:35:04.547] if (FALSE) { [22:35:04.547] } [22:35:04.547] else { [22:35:04.547] if (TRUE) { [22:35:04.547] ...future.stdout <- base::rawConnection(base::raw(0L), [22:35:04.547] open = "w") [22:35:04.547] } [22:35:04.547] else { [22:35:04.547] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [22:35:04.547] windows = "NUL", "/dev/null"), open = "w") [22:35:04.547] } [22:35:04.547] base::sink(...future.stdout, type = "output", split = FALSE) [22:35:04.547] base::on.exit(if (!base::is.null(...future.stdout)) { [22:35:04.547] base::sink(type = "output", split = FALSE) [22:35:04.547] base::close(...future.stdout) [22:35:04.547] }, add = TRUE) [22:35:04.547] } [22:35:04.547] ...future.frame <- base::sys.nframe() [22:35:04.547] ...future.conditions <- base::list() [22:35:04.547] ...future.rng <- base::globalenv()$.Random.seed [22:35:04.547] if (FALSE) { [22:35:04.547] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [22:35:04.547] "...future.value", "...future.globalenv.names", ".Random.seed") [22:35:04.547] } [22:35:04.547] ...future.result <- base::tryCatch({ [22:35:04.547] base::withCallingHandlers({ [22:35:04.547] ...future.value <- base::withVisible(base::local(NA)) [22:35:04.547] future::FutureResult(value = ...future.value$value, [22:35:04.547] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [22:35:04.547] ...future.rng), globalenv = if (FALSE) [22:35:04.547] list(added = base::setdiff(base::names(base::.GlobalEnv), [22:35:04.547] ...future.globalenv.names)) [22:35:04.547] else NULL, started = ...future.startTime, version = "1.8") [22:35:04.547] }, condition = base::local({ [22:35:04.547] c <- base::c [22:35:04.547] inherits <- base::inherits [22:35:04.547] invokeRestart <- base::invokeRestart [22:35:04.547] length <- base::length [22:35:04.547] list <- base::list [22:35:04.547] seq.int <- base::seq.int [22:35:04.547] signalCondition <- base::signalCondition [22:35:04.547] sys.calls <- base::sys.calls [22:35:04.547] `[[` <- base::`[[` [22:35:04.547] `+` <- base::`+` [22:35:04.547] `<<-` <- base::`<<-` [22:35:04.547] sysCalls <- function(calls = sys.calls(), from = 1L) { [22:35:04.547] calls[seq.int(from = from + 12L, to = length(calls) - [22:35:04.547] 3L)] [22:35:04.547] } [22:35:04.547] function(cond) { [22:35:04.547] is_error <- inherits(cond, "error") [22:35:04.547] ignore <- !is_error && !is.null(NULL) && inherits(cond, [22:35:04.547] NULL) [22:35:04.547] if (is_error) { [22:35:04.547] sessionInformation <- function() { [22:35:04.547] list(r = base::R.Version(), locale = base::Sys.getlocale(), [22:35:04.547] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [22:35:04.547] search = base::search(), system = base::Sys.info()) [22:35:04.547] } [22:35:04.547] ...future.conditions[[length(...future.conditions) + [22:35:04.547] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [22:35:04.547] cond$call), session = sessionInformation(), [22:35:04.547] timestamp = base::Sys.time(), signaled = 0L) [22:35:04.547] signalCondition(cond) [22:35:04.547] } [22:35:04.547] else if (!ignore && TRUE && inherits(cond, "condition")) { [22:35:04.547] signal <- FALSE && inherits(cond, character(0)) [22:35:04.547] ...future.conditions[[length(...future.conditions) + [22:35:04.547] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [22:35:04.547] if (FALSE && !signal) { [22:35:04.547] muffleCondition <- function (cond, pattern = "^muffle") [22:35:04.547] { [22:35:04.547] inherits <- base::inherits [22:35:04.547] invokeRestart <- base::invokeRestart [22:35:04.547] is.null <- base::is.null [22:35:04.547] muffled <- FALSE [22:35:04.547] if (inherits(cond, "message")) { [22:35:04.547] muffled <- grepl(pattern, "muffleMessage") [22:35:04.547] if (muffled) [22:35:04.547] invokeRestart("muffleMessage") [22:35:04.547] } [22:35:04.547] else if (inherits(cond, "warning")) { [22:35:04.547] muffled <- grepl(pattern, "muffleWarning") [22:35:04.547] if (muffled) [22:35:04.547] invokeRestart("muffleWarning") [22:35:04.547] } [22:35:04.547] else if (inherits(cond, "condition")) { [22:35:04.547] if (!is.null(pattern)) { [22:35:04.547] computeRestarts <- base::computeRestarts [22:35:04.547] grepl <- base::grepl [22:35:04.547] restarts <- computeRestarts(cond) [22:35:04.547] for (restart in restarts) { [22:35:04.547] name <- restart$name [22:35:04.547] if (is.null(name)) [22:35:04.547] next [22:35:04.547] if (!grepl(pattern, name)) [22:35:04.547] next [22:35:04.547] invokeRestart(restart) [22:35:04.547] muffled <- TRUE [22:35:04.547] break [22:35:04.547] } [22:35:04.547] } [22:35:04.547] } [22:35:04.547] invisible(muffled) [22:35:04.547] } [22:35:04.547] muffleCondition(cond, pattern = "^muffle") [22:35:04.547] } [22:35:04.547] } [22:35:04.547] else { [22:35:04.547] if (TRUE) { [22:35:04.547] muffleCondition <- function (cond, pattern = "^muffle") [22:35:04.547] { [22:35:04.547] inherits <- base::inherits [22:35:04.547] invokeRestart <- base::invokeRestart [22:35:04.547] is.null <- base::is.null [22:35:04.547] muffled <- FALSE [22:35:04.547] if (inherits(cond, "message")) { [22:35:04.547] muffled <- grepl(pattern, "muffleMessage") [22:35:04.547] if (muffled) [22:35:04.547] invokeRestart("muffleMessage") [22:35:04.547] } [22:35:04.547] else if (inherits(cond, "warning")) { [22:35:04.547] muffled <- grepl(pattern, "muffleWarning") [22:35:04.547] if (muffled) [22:35:04.547] invokeRestart("muffleWarning") [22:35:04.547] } [22:35:04.547] else if (inherits(cond, "condition")) { [22:35:04.547] if (!is.null(pattern)) { [22:35:04.547] computeRestarts <- base::computeRestarts [22:35:04.547] grepl <- base::grepl [22:35:04.547] restarts <- computeRestarts(cond) [22:35:04.547] for (restart in restarts) { [22:35:04.547] name <- restart$name [22:35:04.547] if (is.null(name)) [22:35:04.547] next [22:35:04.547] if (!grepl(pattern, name)) [22:35:04.547] next [22:35:04.547] invokeRestart(restart) [22:35:04.547] muffled <- TRUE [22:35:04.547] break [22:35:04.547] } [22:35:04.547] } [22:35:04.547] } [22:35:04.547] invisible(muffled) [22:35:04.547] } [22:35:04.547] muffleCondition(cond, pattern = "^muffle") [22:35:04.547] } [22:35:04.547] } [22:35:04.547] } [22:35:04.547] })) [22:35:04.547] }, error = function(ex) { [22:35:04.547] base::structure(base::list(value = NULL, visible = NULL, [22:35:04.547] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [22:35:04.547] ...future.rng), started = ...future.startTime, [22:35:04.547] finished = Sys.time(), session_uuid = NA_character_, [22:35:04.547] version = "1.8"), class = "FutureResult") [22:35:04.547] }, finally = { [22:35:04.547] if (!identical(...future.workdir, getwd())) [22:35:04.547] setwd(...future.workdir) [22:35:04.547] { [22:35:04.547] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [22:35:04.547] ...future.oldOptions$nwarnings <- NULL [22:35:04.547] } [22:35:04.547] base::options(...future.oldOptions) [22:35:04.547] if (.Platform$OS.type == "windows") { [22:35:04.547] old_names <- names(...future.oldEnvVars) [22:35:04.547] envs <- base::Sys.getenv() [22:35:04.547] names <- names(envs) [22:35:04.547] common <- intersect(names, old_names) [22:35:04.547] added <- setdiff(names, old_names) [22:35:04.547] removed <- setdiff(old_names, names) [22:35:04.547] changed <- common[...future.oldEnvVars[common] != [22:35:04.547] envs[common]] [22:35:04.547] NAMES <- toupper(changed) [22:35:04.547] args <- list() [22:35:04.547] for (kk in seq_along(NAMES)) { [22:35:04.547] name <- changed[[kk]] [22:35:04.547] NAME <- NAMES[[kk]] [22:35:04.547] if (name != NAME && is.element(NAME, old_names)) [22:35:04.547] next [22:35:04.547] args[[name]] <- ...future.oldEnvVars[[name]] [22:35:04.547] } [22:35:04.547] NAMES <- toupper(added) [22:35:04.547] for (kk in seq_along(NAMES)) { [22:35:04.547] name <- added[[kk]] [22:35:04.547] NAME <- NAMES[[kk]] [22:35:04.547] if (name != NAME && is.element(NAME, old_names)) [22:35:04.547] next [22:35:04.547] args[[name]] <- "" [22:35:04.547] } [22:35:04.547] NAMES <- toupper(removed) [22:35:04.547] for (kk in seq_along(NAMES)) { [22:35:04.547] name <- removed[[kk]] [22:35:04.547] NAME <- NAMES[[kk]] [22:35:04.547] if (name != NAME && is.element(NAME, old_names)) [22:35:04.547] next [22:35:04.547] args[[name]] <- ...future.oldEnvVars[[name]] [22:35:04.547] } [22:35:04.547] if (length(args) > 0) [22:35:04.547] base::do.call(base::Sys.setenv, args = args) [22:35:04.547] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [22:35:04.547] } [22:35:04.547] else { [22:35:04.547] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [22:35:04.547] } [22:35:04.547] { [22:35:04.547] if (base::length(...future.futureOptionsAdded) > [22:35:04.547] 0L) { [22:35:04.547] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [22:35:04.547] base::names(opts) <- ...future.futureOptionsAdded [22:35:04.547] base::options(opts) [22:35:04.547] } [22:35:04.547] { [22:35:04.547] NULL [22:35:04.547] options(future.plan = NULL) [22:35:04.547] if (is.na(NA_character_)) [22:35:04.547] Sys.unsetenv("R_FUTURE_PLAN") [22:35:04.547] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [22:35:04.547] future::plan(...future.strategy.old, .cleanup = FALSE, [22:35:04.547] .init = FALSE) [22:35:04.547] } [22:35:04.547] } [22:35:04.547] } [22:35:04.547] }) [22:35:04.547] if (TRUE) { [22:35:04.547] base::sink(type = "output", split = FALSE) [22:35:04.547] if (TRUE) { [22:35:04.547] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [22:35:04.547] } [22:35:04.547] else { [22:35:04.547] ...future.result["stdout"] <- base::list(NULL) [22:35:04.547] } [22:35:04.547] base::close(...future.stdout) [22:35:04.547] ...future.stdout <- NULL [22:35:04.547] } [22:35:04.547] ...future.result$conditions <- ...future.conditions [22:35:04.547] ...future.result$finished <- base::Sys.time() [22:35:04.547] ...future.result [22:35:04.547] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in ‘tests/rng.R’ failed. Complete output: > source("incl/start.R") Loading required package: future [22:35:05.246] plan(): Setting new future strategy stack: [22:35:05.247] List of future strategies: [22:35:05.247] 1. mirai_multisession: [22:35:05.247] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [22:35:05.247] - tweaked: FALSE [22:35:05.247] - call: future::plan(future.mirai::mirai_multisession) [22:35:05.272] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [22:35:05.272] < mirai [$data] > [22:35:05.340] getGlobalsAndPackages() ... [22:35:05.340] Not searching for globals [22:35:05.341] - globals: [0] <none> [22:35:05.341] getGlobalsAndPackages() ... DONE [22:35:05.342] getGlobalsAndPackages() ... [22:35:05.342] [22:35:05.342] - globals: [0] <none> [22:35:05.342] getGlobalsAndPackages() ... DONE [22:35:06.503] Packages needed by the future expression (n = 0): <none> [22:35:06.503] Packages needed by future strategies (n = 0): <none> [22:35:06.505] { [22:35:06.505] { [22:35:06.505] { [22:35:06.505] ...future.startTime <- base::Sys.time() [22:35:06.505] { [22:35:06.505] { [22:35:06.505] { [22:35:06.505] base::local({ [22:35:06.505] has_future <- base::requireNamespace("future", [22:35:06.505] quietly = TRUE) [22:35:06.505] if (has_future) { [22:35:06.505] ns <- base::getNamespace("future") [22:35:06.505] version <- ns[[".package"]][["version"]] [22:35:06.505] if (is.null(version)) [22:35:06.505] version <- utils::packageVersion("future") [22:35:06.505] } [22:35:06.505] else { [22:35:06.505] version <- NULL [22:35:06.505] } [22:35:06.505] if (!has_future || version < "1.8.0") { [22:35:06.505] info <- base::c(r_version = base::gsub("R version ", [22:35:06.505] "", base::R.version$version.string), [22:35:06.505] platform = base::sprintf("%s (%s-bit)", [22:35:06.505] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [22:35:06.505] os = base::paste(base::Sys.info()[base::c("sysname", [22:35:06.505] "release", "version")], collapse = " "), [22:35:06.505] hostname = base::Sys.info()[["nodename"]]) [22:35:06.505] info <- base::sprintf("%s: %s", base::names(info), [22:35:06.505] info) [22:35:06.505] info <- base::paste(info, collapse = "; ") [22:35:06.505] if (!has_future) { [22:35:06.505] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [22:35:06.505] info) [22:35:06.505] } [22:35:06.505] else { [22:35:06.505] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [22:35:06.505] info, version) [22:35:06.505] } [22:35:06.505] base::stop(msg) [22:35:06.505] } [22:35:06.505] }) [22:35:06.505] } [22:35:06.505] ...future.strategy.old <- future::plan("list") [22:35:06.505] options(future.plan = NULL) [22:35:06.505] Sys.unsetenv("R_FUTURE_PLAN") [22:35:06.505] future::plan("default", .cleanup = FALSE, .init = FALSE) [22:35:06.505] } [22:35:06.505] ...future.workdir <- getwd() [22:35:06.505] } [22:35:06.505] ...future.oldOptions <- base::as.list(base::.Options) [22:35:06.505] ...future.oldEnvVars <- base::Sys.getenv() [22:35:06.505] } [22:35:06.505] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [22:35:06.505] future.globals.maxSize = NULL, future.globals.method = NULL, [22:35:06.505] future.globals.onMissing = NULL, future.globals.onReference = NULL, [22:35:06.505] future.globals.resolve = NULL, future.resolve.recursive = NULL, [22:35:06.505] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [22:35:06.505] future.stdout.windows.reencode = NULL, width = 80L) [22:35:06.505] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [22:35:06.505] base::names(...future.oldOptions)) [22:35:06.505] } [22:35:06.505] if (FALSE) { [22:35:06.505] } [22:35:06.505] else { [22:35:06.505] if (TRUE) { [22:35:06.505] ...future.stdout <- base::rawConnection(base::raw(0L), [22:35:06.505] open = "w") [22:35:06.505] } [22:35:06.505] else { [22:35:06.505] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [22:35:06.505] windows = "NUL", "/dev/null"), open = "w") [22:35:06.505] } [22:35:06.505] base::sink(...future.stdout, type = "output", split = FALSE) [22:35:06.505] base::on.exit(if (!base::is.null(...future.stdout)) { [22:35:06.505] base::sink(type = "output", split = FALSE) [22:35:06.505] base::close(...future.stdout) [22:35:06.505] }, add = TRUE) [22:35:06.505] } [22:35:06.505] ...future.frame <- base::sys.nframe() [22:35:06.505] ...future.conditions <- base::list() [22:35:06.505] ...future.rng <- base::globalenv()$.Random.seed [22:35:06.505] if (FALSE) { [22:35:06.505] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [22:35:06.505] "...future.value", "...future.globalenv.names", ".Random.seed") [22:35:06.505] } [22:35:06.505] ...future.result <- base::tryCatch({ [22:35:06.505] base::withCallingHandlers({ [22:35:06.505] ...future.value <- base::withVisible(base::local(NA)) [22:35:06.505] future::FutureResult(value = ...future.value$value, [22:35:06.505] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [22:35:06.505] ...future.rng), globalenv = if (FALSE) [22:35:06.505] list(added = base::setdiff(base::names(base::.GlobalEnv), [22:35:06.505] ...future.globalenv.names)) [22:35:06.505] else NULL, started = ...future.startTime, version = "1.8") [22:35:06.505] }, condition = base::local({ [22:35:06.505] c <- base::c [22:35:06.505] inherits <- base::inherits [22:35:06.505] invokeRestart <- base::invokeRestart [22:35:06.505] length <- base::length [22:35:06.505] list <- base::list [22:35:06.505] seq.int <- base::seq.int [22:35:06.505] signalCondition <- base::signalCondition [22:35:06.505] sys.calls <- base::sys.calls [22:35:06.505] `[[` <- base::`[[` [22:35:06.505] `+` <- base::`+` [22:35:06.505] `<<-` <- base::`<<-` [22:35:06.505] sysCalls <- function(calls = sys.calls(), from = 1L) { [22:35:06.505] calls[seq.int(from = from + 12L, to = length(calls) - [22:35:06.505] 3L)] [22:35:06.505] } [22:35:06.505] function(cond) { [22:35:06.505] is_error <- inherits(cond, "error") [22:35:06.505] ignore <- !is_error && !is.null(NULL) && inherits(cond, [22:35:06.505] NULL) [22:35:06.505] if (is_error) { [22:35:06.505] sessionInformation <- function() { [22:35:06.505] list(r = base::R.Version(), locale = base::Sys.getlocale(), [22:35:06.505] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [22:35:06.505] search = base::search(), system = base::Sys.info()) [22:35:06.505] } [22:35:06.505] ...future.conditions[[length(...future.conditions) + [22:35:06.505] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [22:35:06.505] cond$call), session = sessionInformation(), [22:35:06.505] timestamp = base::Sys.time(), signaled = 0L) [22:35:06.505] signalCondition(cond) [22:35:06.505] } [22:35:06.505] else if (!ignore && TRUE && inherits(cond, "condition")) { [22:35:06.505] signal <- FALSE && inherits(cond, character(0)) [22:35:06.505] ...future.conditions[[length(...future.conditions) + [22:35:06.505] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [22:35:06.505] if (FALSE && !signal) { [22:35:06.505] muffleCondition <- function (cond, pattern = "^muffle") [22:35:06.505] { [22:35:06.505] inherits <- base::inherits [22:35:06.505] invokeRestart <- base::invokeRestart [22:35:06.505] is.null <- base::is.null [22:35:06.505] muffled <- FALSE [22:35:06.505] if (inherits(cond, "message")) { [22:35:06.505] muffled <- grepl(pattern, "muffleMessage") [22:35:06.505] if (muffled) [22:35:06.505] invokeRestart("muffleMessage") [22:35:06.505] } [22:35:06.505] else if (inherits(cond, "warning")) { [22:35:06.505] muffled <- grepl(pattern, "muffleWarning") [22:35:06.505] if (muffled) [22:35:06.505] invokeRestart("muffleWarning") [22:35:06.505] } [22:35:06.505] else if (inherits(cond, "condition")) { [22:35:06.505] if (!is.null(pattern)) { [22:35:06.505] computeRestarts <- base::computeRestarts [22:35:06.505] grepl <- base::grepl [22:35:06.505] restarts <- computeRestarts(cond) [22:35:06.505] for (restart in restarts) { [22:35:06.505] name <- restart$name [22:35:06.505] if (is.null(name)) [22:35:06.505] next [22:35:06.505] if (!grepl(pattern, name)) [22:35:06.505] next [22:35:06.505] invokeRestart(restart) [22:35:06.505] muffled <- TRUE [22:35:06.505] break [22:35:06.505] } [22:35:06.505] } [22:35:06.505] } [22:35:06.505] invisible(muffled) [22:35:06.505] } [22:35:06.505] muffleCondition(cond, pattern = "^muffle") [22:35:06.505] } [22:35:06.505] } [22:35:06.505] else { [22:35:06.505] if (TRUE) { [22:35:06.505] muffleCondition <- function (cond, pattern = "^muffle") [22:35:06.505] { [22:35:06.505] inherits <- base::inherits [22:35:06.505] invokeRestart <- base::invokeRestart [22:35:06.505] is.null <- base::is.null [22:35:06.505] muffled <- FALSE [22:35:06.505] if (inherits(cond, "message")) { [22:35:06.505] muffled <- grepl(pattern, "muffleMessage") [22:35:06.505] if (muffled) [22:35:06.505] invokeRestart("muffleMessage") [22:35:06.505] } [22:35:06.505] else if (inherits(cond, "warning")) { [22:35:06.505] muffled <- grepl(pattern, "muffleWarning") [22:35:06.505] if (muffled) [22:35:06.505] invokeRestart("muffleWarning") [22:35:06.505] } [22:35:06.505] else if (inherits(cond, "condition")) { [22:35:06.505] if (!is.null(pattern)) { [22:35:06.505] computeRestarts <- base::computeRestarts [22:35:06.505] grepl <- base::grepl [22:35:06.505] restarts <- computeRestarts(cond) [22:35:06.505] for (restart in restarts) { [22:35:06.505] name <- restart$name [22:35:06.505] if (is.null(name)) [22:35:06.505] next [22:35:06.505] if (!grepl(pattern, name)) [22:35:06.505] next [22:35:06.505] invokeRestart(restart) [22:35:06.505] muffled <- TRUE [22:35:06.505] break [22:35:06.505] } [22:35:06.505] } [22:35:06.505] } [22:35:06.505] invisible(muffled) [22:35:06.505] } [22:35:06.505] muffleCondition(cond, pattern = "^muffle") [22:35:06.505] } [22:35:06.505] } [22:35:06.505] } [22:35:06.505] })) [22:35:06.505] }, error = function(ex) { [22:35:06.505] base::structure(base::list(value = NULL, visible = NULL, [22:35:06.505] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [22:35:06.505] ...future.rng), started = ...future.startTime, [22:35:06.505] finished = Sys.time(), session_uuid = NA_character_, [22:35:06.505] version = "1.8"), class = "FutureResult") [22:35:06.505] }, finally = { [22:35:06.505] if (!identical(...future.workdir, getwd())) [22:35:06.505] setwd(...future.workdir) [22:35:06.505] { [22:35:06.505] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [22:35:06.505] ...future.oldOptions$nwarnings <- NULL [22:35:06.505] } [22:35:06.505] base::options(...future.oldOptions) [22:35:06.505] if (.Platform$OS.type == "windows") { [22:35:06.505] old_names <- names(...future.oldEnvVars) [22:35:06.505] envs <- base::Sys.getenv() [22:35:06.505] names <- names(envs) [22:35:06.505] common <- intersect(names, old_names) [22:35:06.505] added <- setdiff(names, old_names) [22:35:06.505] removed <- setdiff(old_names, names) [22:35:06.505] changed <- common[...future.oldEnvVars[common] != [22:35:06.505] envs[common]] [22:35:06.505] NAMES <- toupper(changed) [22:35:06.505] args <- list() [22:35:06.505] for (kk in seq_along(NAMES)) { [22:35:06.505] name <- changed[[kk]] [22:35:06.505] NAME <- NAMES[[kk]] [22:35:06.505] if (name != NAME && is.element(NAME, old_names)) [22:35:06.505] next [22:35:06.505] args[[name]] <- ...future.oldEnvVars[[name]] [22:35:06.505] } [22:35:06.505] NAMES <- toupper(added) [22:35:06.505] for (kk in seq_along(NAMES)) { [22:35:06.505] name <- added[[kk]] [22:35:06.505] NAME <- NAMES[[kk]] [22:35:06.505] if (name != NAME && is.element(NAME, old_names)) [22:35:06.505] next [22:35:06.505] args[[name]] <- "" [22:35:06.505] } [22:35:06.505] NAMES <- toupper(removed) [22:35:06.505] for (kk in seq_along(NAMES)) { [22:35:06.505] name <- removed[[kk]] [22:35:06.505] NAME <- NAMES[[kk]] [22:35:06.505] if (name != NAME && is.element(NAME, old_names)) [22:35:06.505] next [22:35:06.505] args[[name]] <- ...future.oldEnvVars[[name]] [22:35:06.505] } [22:35:06.505] if (length(args) > 0) [22:35:06.505] base::do.call(base::Sys.setenv, args = args) [22:35:06.505] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [22:35:06.505] } [22:35:06.505] else { [22:35:06.505] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [22:35:06.505] } [22:35:06.505] { [22:35:06.505] if (base::length(...future.futureOptionsAdded) > [22:35:06.505] 0L) { [22:35:06.505] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [22:35:06.505] base::names(opts) <- ...future.futureOptionsAdded [22:35:06.505] base::options(opts) [22:35:06.505] } [22:35:06.505] { [22:35:06.505] NULL [22:35:06.505] options(future.plan = NULL) [22:35:06.505] if (is.na(NA_character_)) [22:35:06.505] Sys.unsetenv("R_FUTURE_PLAN") [22:35:06.505] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [22:35:06.505] future::plan(...future.strategy.old, .cleanup = FALSE, [22:35:06.505] .init = FALSE) [22:35:06.505] } [22:35:06.505] } [22:35:06.505] } [22:35:06.505] }) [22:35:06.505] if (TRUE) { [22:35:06.505] base::sink(type = "output", split = FALSE) [22:35:06.505] if (TRUE) { [22:35:06.505] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [22:35:06.505] } [22:35:06.505] else { [22:35:06.505] ...future.result["stdout"] <- base::list(NULL) [22:35:06.505] } [22:35:06.505] base::close(...future.stdout) [22:35:06.505] ...future.stdout <- NULL [22:35:06.505] } [22:35:06.505] ...future.result$conditions <- ...future.conditions [22:35:06.505] ...future.result$finished <- base::Sys.time() [22:35:06.505] ...future.result [22:35:06.505] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in ‘tests/stdout.R’ failed. Complete output: > source("incl/start.R") Loading required package: future [22:35:07.508] plan(): Setting new future strategy stack: [22:35:07.508] List of future strategies: [22:35:07.508] 1. mirai_multisession: [22:35:07.508] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [22:35:07.508] - tweaked: FALSE [22:35:07.508] - call: future::plan(future.mirai::mirai_multisession) [22:35:07.535] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [22:35:07.535] < mirai [$data] > [22:35:07.624] getGlobalsAndPackages() ... [22:35:07.624] Not searching for globals [22:35:07.624] - globals: [0] <none> [22:35:07.625] getGlobalsAndPackages() ... DONE [22:35:07.625] getGlobalsAndPackages() ... [22:35:07.626] [22:35:07.626] - globals: [0] <none> [22:35:07.626] getGlobalsAndPackages() ... DONE [22:35:08.703] Packages needed by the future expression (n = 0): <none> [22:35:08.703] Packages needed by future strategies (n = 0): <none> [22:35:08.705] { [22:35:08.705] { [22:35:08.705] { [22:35:08.705] ...future.startTime <- base::Sys.time() [22:35:08.705] { [22:35:08.705] { [22:35:08.705] { [22:35:08.705] base::local({ [22:35:08.705] has_future <- base::requireNamespace("future", [22:35:08.705] quietly = TRUE) [22:35:08.705] if (has_future) { [22:35:08.705] ns <- base::getNamespace("future") [22:35:08.705] version <- ns[[".package"]][["version"]] [22:35:08.705] if (is.null(version)) [22:35:08.705] version <- utils::packageVersion("future") [22:35:08.705] } [22:35:08.705] else { [22:35:08.705] version <- NULL [22:35:08.705] } [22:35:08.705] if (!has_future || version < "1.8.0") { [22:35:08.705] info <- base::c(r_version = base::gsub("R version ", [22:35:08.705] "", base::R.version$version.string), [22:35:08.705] platform = base::sprintf("%s (%s-bit)", [22:35:08.705] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [22:35:08.705] os = base::paste(base::Sys.info()[base::c("sysname", [22:35:08.705] "release", "version")], collapse = " "), [22:35:08.705] hostname = base::Sys.info()[["nodename"]]) [22:35:08.705] info <- base::sprintf("%s: %s", base::names(info), [22:35:08.705] info) [22:35:08.705] info <- base::paste(info, collapse = "; ") [22:35:08.705] if (!has_future) { [22:35:08.705] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [22:35:08.705] info) [22:35:08.705] } [22:35:08.705] else { [22:35:08.705] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [22:35:08.705] info, version) [22:35:08.705] } [22:35:08.705] base::stop(msg) [22:35:08.705] } [22:35:08.705] }) [22:35:08.705] } [22:35:08.705] ...future.strategy.old <- future::plan("list") [22:35:08.705] options(future.plan = NULL) [22:35:08.705] Sys.unsetenv("R_FUTURE_PLAN") [22:35:08.705] future::plan("default", .cleanup = FALSE, .init = FALSE) [22:35:08.705] } [22:35:08.705] ...future.workdir <- getwd() [22:35:08.705] } [22:35:08.705] ...future.oldOptions <- base::as.list(base::.Options) [22:35:08.705] ...future.oldEnvVars <- base::Sys.getenv() [22:35:08.705] } [22:35:08.705] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [22:35:08.705] future.globals.maxSize = NULL, future.globals.method = NULL, [22:35:08.705] future.globals.onMissing = NULL, future.globals.onReference = NULL, [22:35:08.705] future.globals.resolve = NULL, future.resolve.recursive = NULL, [22:35:08.705] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [22:35:08.705] future.stdout.windows.reencode = NULL, width = 80L) [22:35:08.705] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [22:35:08.705] base::names(...future.oldOptions)) [22:35:08.705] } [22:35:08.705] if (FALSE) { [22:35:08.705] } [22:35:08.705] else { [22:35:08.705] if (TRUE) { [22:35:08.705] ...future.stdout <- base::rawConnection(base::raw(0L), [22:35:08.705] open = "w") [22:35:08.705] } [22:35:08.705] else { [22:35:08.705] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [22:35:08.705] windows = "NUL", "/dev/null"), open = "w") [22:35:08.705] } [22:35:08.705] base::sink(...future.stdout, type = "output", split = FALSE) [22:35:08.705] base::on.exit(if (!base::is.null(...future.stdout)) { [22:35:08.705] base::sink(type = "output", split = FALSE) [22:35:08.705] base::close(...future.stdout) [22:35:08.705] }, add = TRUE) [22:35:08.705] } [22:35:08.705] ...future.frame <- base::sys.nframe() [22:35:08.705] ...future.conditions <- base::list() [22:35:08.705] ...future.rng <- base::globalenv()$.Random.seed [22:35:08.705] if (FALSE) { [22:35:08.705] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [22:35:08.705] "...future.value", "...future.globalenv.names", ".Random.seed") [22:35:08.705] } [22:35:08.705] ...future.result <- base::tryCatch({ [22:35:08.705] base::withCallingHandlers({ [22:35:08.705] ...future.value <- base::withVisible(base::local(NA)) [22:35:08.705] future::FutureResult(value = ...future.value$value, [22:35:08.705] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [22:35:08.705] ...future.rng), globalenv = if (FALSE) [22:35:08.705] list(added = base::setdiff(base::names(base::.GlobalEnv), [22:35:08.705] ...future.globalenv.names)) [22:35:08.705] else NULL, started = ...future.startTime, version = "1.8") [22:35:08.705] }, condition = base::local({ [22:35:08.705] c <- base::c [22:35:08.705] inherits <- base::inherits [22:35:08.705] invokeRestart <- base::invokeRestart [22:35:08.705] length <- base::length [22:35:08.705] list <- base::list [22:35:08.705] seq.int <- base::seq.int [22:35:08.705] signalCondition <- base::signalCondition [22:35:08.705] sys.calls <- base::sys.calls [22:35:08.705] `[[` <- base::`[[` [22:35:08.705] `+` <- base::`+` [22:35:08.705] `<<-` <- base::`<<-` [22:35:08.705] sysCalls <- function(calls = sys.calls(), from = 1L) { [22:35:08.705] calls[seq.int(from = from + 12L, to = length(calls) - [22:35:08.705] 3L)] [22:35:08.705] } [22:35:08.705] function(cond) { [22:35:08.705] is_error <- inherits(cond, "error") [22:35:08.705] ignore <- !is_error && !is.null(NULL) && inherits(cond, [22:35:08.705] NULL) [22:35:08.705] if (is_error) { [22:35:08.705] sessionInformation <- function() { [22:35:08.705] list(r = base::R.Version(), locale = base::Sys.getlocale(), [22:35:08.705] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [22:35:08.705] search = base::search(), system = base::Sys.info()) [22:35:08.705] } [22:35:08.705] ...future.conditions[[length(...future.conditions) + [22:35:08.705] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [22:35:08.705] cond$call), session = sessionInformation(), [22:35:08.705] timestamp = base::Sys.time(), signaled = 0L) [22:35:08.705] signalCondition(cond) [22:35:08.705] } [22:35:08.705] else if (!ignore && TRUE && inherits(cond, "condition")) { [22:35:08.705] signal <- FALSE && inherits(cond, character(0)) [22:35:08.705] ...future.conditions[[length(...future.conditions) + [22:35:08.705] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [22:35:08.705] if (FALSE && !signal) { [22:35:08.705] muffleCondition <- function (cond, pattern = "^muffle") [22:35:08.705] { [22:35:08.705] inherits <- base::inherits [22:35:08.705] invokeRestart <- base::invokeRestart [22:35:08.705] is.null <- base::is.null [22:35:08.705] muffled <- FALSE [22:35:08.705] if (inherits(cond, "message")) { [22:35:08.705] muffled <- grepl(pattern, "muffleMessage") [22:35:08.705] if (muffled) [22:35:08.705] invokeRestart("muffleMessage") [22:35:08.705] } [22:35:08.705] else if (inherits(cond, "warning")) { [22:35:08.705] muffled <- grepl(pattern, "muffleWarning") [22:35:08.705] if (muffled) [22:35:08.705] invokeRestart("muffleWarning") [22:35:08.705] } [22:35:08.705] else if (inherits(cond, "condition")) { [22:35:08.705] if (!is.null(pattern)) { [22:35:08.705] computeRestarts <- base::computeRestarts [22:35:08.705] grepl <- base::grepl [22:35:08.705] restarts <- computeRestarts(cond) [22:35:08.705] for (restart in restarts) { [22:35:08.705] name <- restart$name [22:35:08.705] if (is.null(name)) [22:35:08.705] next [22:35:08.705] if (!grepl(pattern, name)) [22:35:08.705] next [22:35:08.705] invokeRestart(restart) [22:35:08.705] muffled <- TRUE [22:35:08.705] break [22:35:08.705] } [22:35:08.705] } [22:35:08.705] } [22:35:08.705] invisible(muffled) [22:35:08.705] } [22:35:08.705] muffleCondition(cond, pattern = "^muffle") [22:35:08.705] } [22:35:08.705] } [22:35:08.705] else { [22:35:08.705] if (TRUE) { [22:35:08.705] muffleCondition <- function (cond, pattern = "^muffle") [22:35:08.705] { [22:35:08.705] inherits <- base::inherits [22:35:08.705] invokeRestart <- base::invokeRestart [22:35:08.705] is.null <- base::is.null [22:35:08.705] muffled <- FALSE [22:35:08.705] if (inherits(cond, "message")) { [22:35:08.705] muffled <- grepl(pattern, "muffleMessage") [22:35:08.705] if (muffled) [22:35:08.705] invokeRestart("muffleMessage") [22:35:08.705] } [22:35:08.705] else if (inherits(cond, "warning")) { [22:35:08.705] muffled <- grepl(pattern, "muffleWarning") [22:35:08.705] if (muffled) [22:35:08.705] invokeRestart("muffleWarning") [22:35:08.705] } [22:35:08.705] else if (inherits(cond, "condition")) { [22:35:08.705] if (!is.null(pattern)) { [22:35:08.705] computeRestarts <- base::computeRestarts [22:35:08.705] grepl <- base::grepl [22:35:08.705] restarts <- computeRestarts(cond) [22:35:08.705] for (restart in restarts) { [22:35:08.705] name <- restart$name [22:35:08.705] if (is.null(name)) [22:35:08.705] next [22:35:08.705] if (!grepl(pattern, name)) [22:35:08.705] next [22:35:08.705] invokeRestart(restart) [22:35:08.705] muffled <- TRUE [22:35:08.705] break [22:35:08.705] } [22:35:08.705] } [22:35:08.705] } [22:35:08.705] invisible(muffled) [22:35:08.705] } [22:35:08.705] muffleCondition(cond, pattern = "^muffle") [22:35:08.705] } [22:35:08.705] } [22:35:08.705] } [22:35:08.705] })) [22:35:08.705] }, error = function(ex) { [22:35:08.705] base::structure(base::list(value = NULL, visible = NULL, [22:35:08.705] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [22:35:08.705] ...future.rng), started = ...future.startTime, [22:35:08.705] finished = Sys.time(), session_uuid = NA_character_, [22:35:08.705] version = "1.8"), class = "FutureResult") [22:35:08.705] }, finally = { [22:35:08.705] if (!identical(...future.workdir, getwd())) [22:35:08.705] setwd(...future.workdir) [22:35:08.705] { [22:35:08.705] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [22:35:08.705] ...future.oldOptions$nwarnings <- NULL [22:35:08.705] } [22:35:08.705] base::options(...future.oldOptions) [22:35:08.705] if (.Platform$OS.type == "windows") { [22:35:08.705] old_names <- names(...future.oldEnvVars) [22:35:08.705] envs <- base::Sys.getenv() [22:35:08.705] names <- names(envs) [22:35:08.705] common <- intersect(names, old_names) [22:35:08.705] added <- setdiff(names, old_names) [22:35:08.705] removed <- setdiff(old_names, names) [22:35:08.705] changed <- common[...future.oldEnvVars[common] != [22:35:08.705] envs[common]] [22:35:08.705] NAMES <- toupper(changed) [22:35:08.705] args <- list() [22:35:08.705] for (kk in seq_along(NAMES)) { [22:35:08.705] name <- changed[[kk]] [22:35:08.705] NAME <- NAMES[[kk]] [22:35:08.705] if (name != NAME && is.element(NAME, old_names)) [22:35:08.705] next [22:35:08.705] args[[name]] <- ...future.oldEnvVars[[name]] [22:35:08.705] } [22:35:08.705] NAMES <- toupper(added) [22:35:08.705] for (kk in seq_along(NAMES)) { [22:35:08.705] name <- added[[kk]] [22:35:08.705] NAME <- NAMES[[kk]] [22:35:08.705] if (name != NAME && is.element(NAME, old_names)) [22:35:08.705] next [22:35:08.705] args[[name]] <- "" [22:35:08.705] } [22:35:08.705] NAMES <- toupper(removed) [22:35:08.705] for (kk in seq_along(NAMES)) { [22:35:08.705] name <- removed[[kk]] [22:35:08.705] NAME <- NAMES[[kk]] [22:35:08.705] if (name != NAME && is.element(NAME, old_names)) [22:35:08.705] next [22:35:08.705] args[[name]] <- ...future.oldEnvVars[[name]] [22:35:08.705] } [22:35:08.705] if (length(args) > 0) [22:35:08.705] base::do.call(base::Sys.setenv, args = args) [22:35:08.705] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [22:35:08.705] } [22:35:08.705] else { [22:35:08.705] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [22:35:08.705] } [22:35:08.705] { [22:35:08.705] if (base::length(...future.futureOptionsAdded) > [22:35:08.705] 0L) { [22:35:08.705] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [22:35:08.705] base::names(opts) <- ...future.futureOptionsAdded [22:35:08.705] base::options(opts) [22:35:08.705] } [22:35:08.705] { [22:35:08.705] NULL [22:35:08.705] options(future.plan = NULL) [22:35:08.705] if (is.na(NA_character_)) [22:35:08.705] Sys.unsetenv("R_FUTURE_PLAN") [22:35:08.705] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [22:35:08.705] future::plan(...future.strategy.old, .cleanup = FALSE, [22:35:08.705] .init = FALSE) [22:35:08.705] } [22:35:08.705] } [22:35:08.705] } [22:35:08.705] }) [22:35:08.705] if (TRUE) { [22:35:08.705] base::sink(type = "output", split = FALSE) [22:35:08.705] if (TRUE) { [22:35:08.705] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [22:35:08.705] } [22:35:08.705] else { [22:35:08.705] ...future.result["stdout"] <- base::list(NULL) [22:35:08.705] } [22:35:08.705] base::close(...future.stdout) [22:35:08.705] ...future.stdout <- NULL [22:35:08.705] } [22:35:08.705] ...future.result$conditions <- ...future.conditions [22:35:08.705] ...future.result$finished <- base::Sys.time() [22:35:08.705] ...future.result [22:35:08.705] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in ‘tests/zzz,future_lapply.R’ failed. Complete output: > ## This requires mirai (>= 0.13.2) > if (packageVersion("mirai") >= "0.13.2") { + + source("incl/start.R") + library("listenv") + + if (requireNamespace("future.apply", quietly = TRUE)) { + future_lapply <- future.apply::future_lapply + + strategies <- c("mirai_multisession") + + message("*** future_lapply() ...") + + message("- future_lapply(x, FUN = vector, ...) ...") + + x <- list(a = "integer", c = "character", c = "list") + str(list(x = x)) + + y0 <- lapply(x, FUN = vector, length = 2L) + str(list(y0 = y0)) + + for (strategy in strategies) { + mprintf("- plan('%s') ...", strategy) + plan(strategy) + stopifnot(nbrOfWorkers() < Inf) + + for (scheduling in list(FALSE, TRUE)) { + y <- future_lapply(x, FUN = vector, length = 2L, + future.scheduling = scheduling) + str(list(y = y)) + stopifnot(identical(y, y0)) + } + } + + + message("- future_lapply(x, FUN = base::vector, ...) ...") + + x <- list(a = "integer", c = "character", c = "list") + str(list(x = x)) + + y0 <- lapply(x, FUN = base::vector, length = 2L) + str(list(y0 = y0)) + + for (strategy in strategies) { + mprintf("- plan('%s') ...", strategy) + plan(strategy) + stopifnot(nbrOfWorkers() < Inf) + + for (scheduling in list(FALSE, TRUE)) { + y <- future_lapply(x, FUN = base::vector, length = 2L, + future.scheduling = scheduling) + str(list(y = y)) + stopifnot(identical(y, y0)) + } + } + + message("- future_lapply(x, FUN = future:::hpaste, ...) ...") + + x <- list(a = c("hello", b = 1:100)) + str(list(x = x)) + + y0 <- lapply(x, FUN = future:::hpaste, collapse = "; ", maxHead = 3L) + str(list(y0 = y0)) + + for (strategy in strategies) { + mprintf("- plan('%s') ...", strategy) + plan(strategy) + stopifnot(nbrOfWorkers() < Inf) + + for (scheduling in list(FALSE, TRUE)) { + y <- future_lapply(x, FUN = future:::hpaste, collapse = "; ", + maxHead = 3L, future.scheduling = scheduling) + str(list(y = y)) + stopifnot(identical(y, y0)) + } + } + + + message("- future_lapply(x, FUN = listenv::listenv, ...) ...") + + x <- list() + + y <- listenv() + y$A <- 3L + x$a <- y + + y <- listenv() + y$A <- 3L + y$B <- c("hello", b = 1:100) + x$b <- y + + print(x) + + y0 <- lapply(x, FUN = listenv::mapping) + str(list(y0 = y0)) + + for (strategy in strategies) { + mprintf("- plan('%s') ...", strategy) + plan(strategy) + stopifnot(nbrOfWorkers() < Inf) + + for (scheduling in list(FALSE, TRUE)) { + y <- future_lapply(x, FUN = listenv::mapping, future.scheduling = scheduling) + str(list(y = y)) + stopifnot(identical(y, y0)) + } + } + + + message("- future_lapply(x, FUN, ...) for large length(x) ...") + a <- 3.14 + x <- 1:1e6 + + y <- future_lapply(x, FUN = function(z) sqrt(z + a)) + y <- unlist(y, use.names = FALSE) + + stopifnot(all.equal(y, sqrt(x + a))) + + + message("- future_lapply() with global in non-attached package ...") + library("tools") + my_ext <- function(x) file_ext(x) + y_truth <- lapply("abc.txt", FUN = my_ext) + + for (strategy in strategies) { + plan(strategy) + y <- future_lapply("abc.txt", FUN = my_ext) + stopifnot(identical(y, y_truth)) + } + + message("*** future_lapply() ... DONE") + } + + source("incl/end.R") + + } Loading required package: future [22:35:09.449] plan(): Setting new future strategy stack: [22:35:09.449] List of future strategies: [22:35:09.449] 1. mirai_multisession: [22:35:09.449] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [22:35:09.449] - tweaked: FALSE [22:35:09.449] - call: future::plan(future.mirai::mirai_multisession) [22:35:09.474] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [22:35:09.475] < mirai [$data] > [22:35:09.524] getGlobalsAndPackages() ... [22:35:09.525] Not searching for globals [22:35:09.525] - globals: [0] <none> [22:35:09.526] getGlobalsAndPackages() ... DONE [22:35:09.526] getGlobalsAndPackages() ... [22:35:09.526] [22:35:09.527] - globals: [0] <none> [22:35:09.527] getGlobalsAndPackages() ... DONE [22:35:10.401] Packages needed by the future expression (n = 0): <none> [22:35:10.401] Packages needed by future strategies (n = 0): <none> [22:35:10.403] { [22:35:10.403] { [22:35:10.403] { [22:35:10.403] ...future.startTime <- base::Sys.time() [22:35:10.403] { [22:35:10.403] { [22:35:10.403] { [22:35:10.403] base::local({ [22:35:10.403] has_future <- base::requireNamespace("future", [22:35:10.403] quietly = TRUE) [22:35:10.403] if (has_future) { [22:35:10.403] ns <- base::getNamespace("future") [22:35:10.403] version <- ns[[".package"]][["version"]] [22:35:10.403] if (is.null(version)) [22:35:10.403] version <- utils::packageVersion("future") [22:35:10.403] } [22:35:10.403] else { [22:35:10.403] version <- NULL [22:35:10.403] } [22:35:10.403] if (!has_future || version < "1.8.0") { [22:35:10.403] info <- base::c(r_version = base::gsub("R version ", [22:35:10.403] "", base::R.version$version.string), [22:35:10.403] platform = base::sprintf("%s (%s-bit)", [22:35:10.403] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [22:35:10.403] os = base::paste(base::Sys.info()[base::c("sysname", [22:35:10.403] "release", "version")], collapse = " "), [22:35:10.403] hostname = base::Sys.info()[["nodename"]]) [22:35:10.403] info <- base::sprintf("%s: %s", base::names(info), [22:35:10.403] info) [22:35:10.403] info <- base::paste(info, collapse = "; ") [22:35:10.403] if (!has_future) { [22:35:10.403] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [22:35:10.403] info) [22:35:10.403] } [22:35:10.403] else { [22:35:10.403] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [22:35:10.403] info, version) [22:35:10.403] } [22:35:10.403] base::stop(msg) [22:35:10.403] } [22:35:10.403] }) [22:35:10.403] } [22:35:10.403] ...future.strategy.old <- future::plan("list") [22:35:10.403] options(future.plan = NULL) [22:35:10.403] Sys.unsetenv("R_FUTURE_PLAN") [22:35:10.403] future::plan("default", .cleanup = FALSE, .init = FALSE) [22:35:10.403] } [22:35:10.403] ...future.workdir <- getwd() [22:35:10.403] } [22:35:10.403] ...future.oldOptions <- base::as.list(base::.Options) [22:35:10.403] ...future.oldEnvVars <- base::Sys.getenv() [22:35:10.403] } [22:35:10.403] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [22:35:10.403] future.globals.maxSize = NULL, future.globals.method = NULL, [22:35:10.403] future.globals.onMissing = NULL, future.globals.onReference = NULL, [22:35:10.403] future.globals.resolve = NULL, future.resolve.recursive = NULL, [22:35:10.403] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [22:35:10.403] future.stdout.windows.reencode = NULL, width = 80L) [22:35:10.403] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [22:35:10.403] base::names(...future.oldOptions)) [22:35:10.403] } [22:35:10.403] if (FALSE) { [22:35:10.403] } [22:35:10.403] else { [22:35:10.403] if (TRUE) { [22:35:10.403] ...future.stdout <- base::rawConnection(base::raw(0L), [22:35:10.403] open = "w") [22:35:10.403] } [22:35:10.403] else { [22:35:10.403] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [22:35:10.403] windows = "NUL", "/dev/null"), open = "w") [22:35:10.403] } [22:35:10.403] base::sink(...future.stdout, type = "output", split = FALSE) [22:35:10.403] base::on.exit(if (!base::is.null(...future.stdout)) { [22:35:10.403] base::sink(type = "output", split = FALSE) [22:35:10.403] base::close(...future.stdout) [22:35:10.403] }, add = TRUE) [22:35:10.403] } [22:35:10.403] ...future.frame <- base::sys.nframe() [22:35:10.403] ...future.conditions <- base::list() [22:35:10.403] ...future.rng <- base::globalenv()$.Random.seed [22:35:10.403] if (FALSE) { [22:35:10.403] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [22:35:10.403] "...future.value", "...future.globalenv.names", ".Random.seed") [22:35:10.403] } [22:35:10.403] ...future.result <- base::tryCatch({ [22:35:10.403] base::withCallingHandlers({ [22:35:10.403] ...future.value <- base::withVisible(base::local(NA)) [22:35:10.403] future::FutureResult(value = ...future.value$value, [22:35:10.403] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [22:35:10.403] ...future.rng), globalenv = if (FALSE) [22:35:10.403] list(added = base::setdiff(base::names(base::.GlobalEnv), [22:35:10.403] ...future.globalenv.names)) [22:35:10.403] else NULL, started = ...future.startTime, version = "1.8") [22:35:10.403] }, condition = base::local({ [22:35:10.403] c <- base::c [22:35:10.403] inherits <- base::inherits [22:35:10.403] invokeRestart <- base::invokeRestart [22:35:10.403] length <- base::length [22:35:10.403] list <- base::list [22:35:10.403] seq.int <- base::seq.int [22:35:10.403] signalCondition <- base::signalCondition [22:35:10.403] sys.calls <- base::sys.calls [22:35:10.403] `[[` <- base::`[[` [22:35:10.403] `+` <- base::`+` [22:35:10.403] `<<-` <- base::`<<-` [22:35:10.403] sysCalls <- function(calls = sys.calls(), from = 1L) { [22:35:10.403] calls[seq.int(from = from + 12L, to = length(calls) - [22:35:10.403] 3L)] [22:35:10.403] } [22:35:10.403] function(cond) { [22:35:10.403] is_error <- inherits(cond, "error") [22:35:10.403] ignore <- !is_error && !is.null(NULL) && inherits(cond, [22:35:10.403] NULL) [22:35:10.403] if (is_error) { [22:35:10.403] sessionInformation <- function() { [22:35:10.403] list(r = base::R.Version(), locale = base::Sys.getlocale(), [22:35:10.403] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [22:35:10.403] search = base::search(), system = base::Sys.info()) [22:35:10.403] } [22:35:10.403] ...future.conditions[[length(...future.conditions) + [22:35:10.403] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [22:35:10.403] cond$call), session = sessionInformation(), [22:35:10.403] timestamp = base::Sys.time(), signaled = 0L) [22:35:10.403] signalCondition(cond) [22:35:10.403] } [22:35:10.403] else if (!ignore && TRUE && inherits(cond, "condition")) { [22:35:10.403] signal <- FALSE && inherits(cond, character(0)) [22:35:10.403] ...future.conditions[[length(...future.conditions) + [22:35:10.403] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [22:35:10.403] if (FALSE && !signal) { [22:35:10.403] muffleCondition <- function (cond, pattern = "^muffle") [22:35:10.403] { [22:35:10.403] inherits <- base::inherits [22:35:10.403] invokeRestart <- base::invokeRestart [22:35:10.403] is.null <- base::is.null [22:35:10.403] muffled <- FALSE [22:35:10.403] if (inherits(cond, "message")) { [22:35:10.403] muffled <- grepl(pattern, "muffleMessage") [22:35:10.403] if (muffled) [22:35:10.403] invokeRestart("muffleMessage") [22:35:10.403] } [22:35:10.403] else if (inherits(cond, "warning")) { [22:35:10.403] muffled <- grepl(pattern, "muffleWarning") [22:35:10.403] if (muffled) [22:35:10.403] invokeRestart("muffleWarning") [22:35:10.403] } [22:35:10.403] else if (inherits(cond, "condition")) { [22:35:10.403] if (!is.null(pattern)) { [22:35:10.403] computeRestarts <- base::computeRestarts [22:35:10.403] grepl <- base::grepl [22:35:10.403] restarts <- computeRestarts(cond) [22:35:10.403] for (restart in restarts) { [22:35:10.403] name <- restart$name [22:35:10.403] if (is.null(name)) [22:35:10.403] next [22:35:10.403] if (!grepl(pattern, name)) [22:35:10.403] next [22:35:10.403] invokeRestart(restart) [22:35:10.403] muffled <- TRUE [22:35:10.403] break [22:35:10.403] } [22:35:10.403] } [22:35:10.403] } [22:35:10.403] invisible(muffled) [22:35:10.403] } [22:35:10.403] muffleCondition(cond, pattern = "^muffle") [22:35:10.403] } [22:35:10.403] } [22:35:10.403] else { [22:35:10.403] if (TRUE) { [22:35:10.403] muffleCondition <- function (cond, pattern = "^muffle") [22:35:10.403] { [22:35:10.403] inherits <- base::inherits [22:35:10.403] invokeRestart <- base::invokeRestart [22:35:10.403] is.null <- base::is.null [22:35:10.403] muffled <- FALSE [22:35:10.403] if (inherits(cond, "message")) { [22:35:10.403] muffled <- grepl(pattern, "muffleMessage") [22:35:10.403] if (muffled) [22:35:10.403] invokeRestart("muffleMessage") [22:35:10.403] } [22:35:10.403] else if (inherits(cond, "warning")) { [22:35:10.403] muffled <- grepl(pattern, "muffleWarning") [22:35:10.403] if (muffled) [22:35:10.403] invokeRestart("muffleWarning") [22:35:10.403] } [22:35:10.403] else if (inherits(cond, "condition")) { [22:35:10.403] if (!is.null(pattern)) { [22:35:10.403] computeRestarts <- base::computeRestarts [22:35:10.403] grepl <- base::grepl [22:35:10.403] restarts <- computeRestarts(cond) [22:35:10.403] for (restart in restarts) { [22:35:10.403] name <- restart$name [22:35:10.403] if (is.null(name)) [22:35:10.403] next [22:35:10.403] if (!grepl(pattern, name)) [22:35:10.403] next [22:35:10.403] invokeRestart(restart) [22:35:10.403] muffled <- TRUE [22:35:10.403] break [22:35:10.403] } [22:35:10.403] } [22:35:10.403] } [22:35:10.403] invisible(muffled) [22:35:10.403] } [22:35:10.403] muffleCondition(cond, pattern = "^muffle") [22:35:10.403] } [22:35:10.403] } [22:35:10.403] } [22:35:10.403] })) [22:35:10.403] }, error = function(ex) { [22:35:10.403] base::structure(base::list(value = NULL, visible = NULL, [22:35:10.403] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [22:35:10.403] ...future.rng), started = ...future.startTime, [22:35:10.403] finished = Sys.time(), session_uuid = NA_character_, [22:35:10.403] version = "1.8"), class = "FutureResult") [22:35:10.403] }, finally = { [22:35:10.403] if (!identical(...future.workdir, getwd())) [22:35:10.403] setwd(...future.workdir) [22:35:10.403] { [22:35:10.403] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [22:35:10.403] ...future.oldOptions$nwarnings <- NULL [22:35:10.403] } [22:35:10.403] base::options(...future.oldOptions) [22:35:10.403] if (.Platform$OS.type == "windows") { [22:35:10.403] old_names <- names(...future.oldEnvVars) [22:35:10.403] envs <- base::Sys.getenv() [22:35:10.403] names <- names(envs) [22:35:10.403] common <- intersect(names, old_names) [22:35:10.403] added <- setdiff(names, old_names) [22:35:10.403] removed <- setdiff(old_names, names) [22:35:10.403] changed <- common[...future.oldEnvVars[common] != [22:35:10.403] envs[common]] [22:35:10.403] NAMES <- toupper(changed) [22:35:10.403] args <- list() [22:35:10.403] for (kk in seq_along(NAMES)) { [22:35:10.403] name <- changed[[kk]] [22:35:10.403] NAME <- NAMES[[kk]] [22:35:10.403] if (name != NAME && is.element(NAME, old_names)) [22:35:10.403] next [22:35:10.403] args[[name]] <- ...future.oldEnvVars[[name]] [22:35:10.403] } [22:35:10.403] NAMES <- toupper(added) [22:35:10.403] for (kk in seq_along(NAMES)) { [22:35:10.403] name <- added[[kk]] [22:35:10.403] NAME <- NAMES[[kk]] [22:35:10.403] if (name != NAME && is.element(NAME, old_names)) [22:35:10.403] next [22:35:10.403] args[[name]] <- "" [22:35:10.403] } [22:35:10.403] NAMES <- toupper(removed) [22:35:10.403] for (kk in seq_along(NAMES)) { [22:35:10.403] name <- removed[[kk]] [22:35:10.403] NAME <- NAMES[[kk]] [22:35:10.403] if (name != NAME && is.element(NAME, old_names)) [22:35:10.403] next [22:35:10.403] args[[name]] <- ...future.oldEnvVars[[name]] [22:35:10.403] } [22:35:10.403] if (length(args) > 0) [22:35:10.403] base::do.call(base::Sys.setenv, args = args) [22:35:10.403] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [22:35:10.403] } [22:35:10.403] else { [22:35:10.403] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [22:35:10.403] } [22:35:10.403] { [22:35:10.403] if (base::length(...future.futureOptionsAdded) > [22:35:10.403] 0L) { [22:35:10.403] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [22:35:10.403] base::names(opts) <- ...future.futureOptionsAdded [22:35:10.403] base::options(opts) [22:35:10.403] } [22:35:10.403] { [22:35:10.403] NULL [22:35:10.403] options(future.plan = NULL) [22:35:10.403] if (is.na(NA_character_)) [22:35:10.403] Sys.unsetenv("R_FUTURE_PLAN") [22:35:10.403] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [22:35:10.403] future::plan(...future.strategy.old, .cleanup = FALSE, [22:35:10.403] .init = FALSE) [22:35:10.403] } [22:35:10.403] } [22:35:10.403] } [22:35:10.403] }) [22:35:10.403] if (TRUE) { [22:35:10.403] base::sink(type = "output", split = FALSE) [22:35:10.403] if (TRUE) { [22:35:10.403] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [22:35:10.403] } [22:35:10.403] else { [22:35:10.403] ...future.result["stdout"] <- base::list(NULL) [22:35:10.403] } [22:35:10.403] base::close(...future.stdout) [22:35:10.403] ...future.stdout <- NULL [22:35:10.403] } [22:35:10.403] ...future.result$conditions <- ...future.conditions [22:35:10.403] ...future.result$finished <- base::Sys.time() [22:35:10.403] ...future.result [22:35:10.403] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Flavor: r-devel-linux-x86_64-debian-gcc

Version: 0.2.1
Check: examples
Result: ERROR Running examples in 'future.mirai-Ex.R' failed The error most likely occurred in: > ### Name: mirai_cluster > ### Title: Mirai-based cluster futures > ### Aliases: mirai_cluster > > ### ** Examples > > mirai::daemons(parallelly::availableCores(), dispatcher = FALSE) [1] 2 > plan(mirai_cluster) Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: plan ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Flavor: r-devel-windows-x86_64

Version: 0.2.1
Check: tests
Result: ERROR Running 'demo.R' [1s] Running 'dotdotdot.R' [1s] Running 'future,labels.R' [1s] Running 'future,lazy.R' [1s] Running 'future.tests,mirai_cluster.R' [3s] Running 'future.tests-mirai_multisession.R' [3s] Running 'globals,formulas.R' [1s] Running 'globals,manual.R' [1s] Running 'globals,nested.R' [1s] Running 'globals,subassignment.R' [1s] Running 'globals,tricky.R' [1s] Running 'mirai_cluster,worker-termination.R' [1s] Running 'mirai_cluster.R' [1s] Running 'nbrOfWorkers.R' [1s] Running 'plan.R' [1s] Running 'rng.R' [1s] Running 'stdout.R' [1s] Running 'zzz,future_lapply.R' [1s] Running the tests in 'tests/demo.R' failed. Complete output: > source("incl/start.R") Loading required package: future [12:36:02.810] plan(): Setting new future strategy stack: [12:36:02.812] List of future strategies: [12:36:02.812] 1. mirai_multisession: [12:36:02.812] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [12:36:02.812] - tweaked: FALSE [12:36:02.812] - call: future::plan(future.mirai::mirai_multisession) [12:36:02.829] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [12:36:02.830] < mirai [$data] > [12:36:02.835] getGlobalsAndPackages() ... [12:36:02.835] Not searching for globals [12:36:02.836] - globals: [0] <none> [12:36:02.836] getGlobalsAndPackages() ... DONE [12:36:02.836] getGlobalsAndPackages() ... [12:36:02.836] [12:36:02.837] - globals: [0] <none> [12:36:02.837] getGlobalsAndPackages() ... DONE [12:36:03.240] Packages needed by the future expression (n = 0): <none> [12:36:03.240] Packages needed by future strategies (n = 0): <none> [12:36:03.242] { [12:36:03.242] { [12:36:03.242] { [12:36:03.242] ...future.startTime <- base::Sys.time() [12:36:03.242] { [12:36:03.242] { [12:36:03.242] { [12:36:03.242] base::local({ [12:36:03.242] has_future <- base::requireNamespace("future", [12:36:03.242] quietly = TRUE) [12:36:03.242] if (has_future) { [12:36:03.242] ns <- base::getNamespace("future") [12:36:03.242] version <- ns[[".package"]][["version"]] [12:36:03.242] if (is.null(version)) [12:36:03.242] version <- utils::packageVersion("future") [12:36:03.242] } [12:36:03.242] else { [12:36:03.242] version <- NULL [12:36:03.242] } [12:36:03.242] if (!has_future || version < "1.8.0") { [12:36:03.242] info <- base::c(r_version = base::gsub("R version ", [12:36:03.242] "", base::R.version$version.string), [12:36:03.242] platform = base::sprintf("%s (%s-bit)", [12:36:03.242] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [12:36:03.242] os = base::paste(base::Sys.info()[base::c("sysname", [12:36:03.242] "release", "version")], collapse = " "), [12:36:03.242] hostname = base::Sys.info()[["nodename"]]) [12:36:03.242] info <- base::sprintf("%s: %s", base::names(info), [12:36:03.242] info) [12:36:03.242] info <- base::paste(info, collapse = "; ") [12:36:03.242] if (!has_future) { [12:36:03.242] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [12:36:03.242] info) [12:36:03.242] } [12:36:03.242] else { [12:36:03.242] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [12:36:03.242] info, version) [12:36:03.242] } [12:36:03.242] base::stop(msg) [12:36:03.242] } [12:36:03.242] }) [12:36:03.242] } [12:36:03.242] ...future.strategy.old <- future::plan("list") [12:36:03.242] options(future.plan = NULL) [12:36:03.242] Sys.unsetenv("R_FUTURE_PLAN") [12:36:03.242] future::plan("default", .cleanup = FALSE, .init = FALSE) [12:36:03.242] } [12:36:03.242] ...future.workdir <- getwd() [12:36:03.242] } [12:36:03.242] ...future.oldOptions <- base::as.list(base::.Options) [12:36:03.242] ...future.oldEnvVars <- base::Sys.getenv() [12:36:03.242] } [12:36:03.242] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [12:36:03.242] future.globals.maxSize = NULL, future.globals.method = NULL, [12:36:03.242] future.globals.onMissing = NULL, future.globals.onReference = NULL, [12:36:03.242] future.globals.resolve = NULL, future.resolve.recursive = NULL, [12:36:03.242] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [12:36:03.242] future.stdout.windows.reencode = NULL, width = 80L) [12:36:03.242] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [12:36:03.242] base::names(...future.oldOptions)) [12:36:03.242] } [12:36:03.242] if (FALSE) { [12:36:03.242] } [12:36:03.242] else { [12:36:03.242] if (TRUE) { [12:36:03.242] ...future.stdout <- base::rawConnection(base::raw(0L), [12:36:03.242] open = "w") [12:36:03.242] } [12:36:03.242] else { [12:36:03.242] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [12:36:03.242] windows = "NUL", "/dev/null"), open = "w") [12:36:03.242] } [12:36:03.242] base::sink(...future.stdout, type = "output", split = FALSE) [12:36:03.242] base::on.exit(if (!base::is.null(...future.stdout)) { [12:36:03.242] base::sink(type = "output", split = FALSE) [12:36:03.242] base::close(...future.stdout) [12:36:03.242] }, add = TRUE) [12:36:03.242] } [12:36:03.242] ...future.frame <- base::sys.nframe() [12:36:03.242] ...future.conditions <- base::list() [12:36:03.242] ...future.rng <- base::globalenv()$.Random.seed [12:36:03.242] if (FALSE) { [12:36:03.242] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [12:36:03.242] "...future.value", "...future.globalenv.names", ".Random.seed") [12:36:03.242] } [12:36:03.242] ...future.result <- base::tryCatch({ [12:36:03.242] base::withCallingHandlers({ [12:36:03.242] ...future.value <- base::withVisible(base::local(NA)) [12:36:03.242] future::FutureResult(value = ...future.value$value, [12:36:03.242] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [12:36:03.242] ...future.rng), globalenv = if (FALSE) [12:36:03.242] list(added = base::setdiff(base::names(base::.GlobalEnv), [12:36:03.242] ...future.globalenv.names)) [12:36:03.242] else NULL, started = ...future.startTime, version = "1.8") [12:36:03.242] }, condition = base::local({ [12:36:03.242] c <- base::c [12:36:03.242] inherits <- base::inherits [12:36:03.242] invokeRestart <- base::invokeRestart [12:36:03.242] length <- base::length [12:36:03.242] list <- base::list [12:36:03.242] seq.int <- base::seq.int [12:36:03.242] signalCondition <- base::signalCondition [12:36:03.242] sys.calls <- base::sys.calls [12:36:03.242] `[[` <- base::`[[` [12:36:03.242] `+` <- base::`+` [12:36:03.242] `<<-` <- base::`<<-` [12:36:03.242] sysCalls <- function(calls = sys.calls(), from = 1L) { [12:36:03.242] calls[seq.int(from = from + 12L, to = length(calls) - [12:36:03.242] 3L)] [12:36:03.242] } [12:36:03.242] function(cond) { [12:36:03.242] is_error <- inherits(cond, "error") [12:36:03.242] ignore <- !is_error && !is.null(NULL) && inherits(cond, [12:36:03.242] NULL) [12:36:03.242] if (is_error) { [12:36:03.242] sessionInformation <- function() { [12:36:03.242] list(r = base::R.Version(), locale = base::Sys.getlocale(), [12:36:03.242] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [12:36:03.242] search = base::search(), system = base::Sys.info()) [12:36:03.242] } [12:36:03.242] ...future.conditions[[length(...future.conditions) + [12:36:03.242] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [12:36:03.242] cond$call), session = sessionInformation(), [12:36:03.242] timestamp = base::Sys.time(), signaled = 0L) [12:36:03.242] signalCondition(cond) [12:36:03.242] } [12:36:03.242] else if (!ignore && TRUE && inherits(cond, "condition")) { [12:36:03.242] signal <- FALSE && inherits(cond, character(0)) [12:36:03.242] ...future.conditions[[length(...future.conditions) + [12:36:03.242] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [12:36:03.242] if (FALSE && !signal) { [12:36:03.242] muffleCondition <- function (cond, pattern = "^muffle") [12:36:03.242] { [12:36:03.242] inherits <- base::inherits [12:36:03.242] invokeRestart <- base::invokeRestart [12:36:03.242] is.null <- base::is.null [12:36:03.242] muffled <- FALSE [12:36:03.242] if (inherits(cond, "message")) { [12:36:03.242] muffled <- grepl(pattern, "muffleMessage") [12:36:03.242] if (muffled) [12:36:03.242] invokeRestart("muffleMessage") [12:36:03.242] } [12:36:03.242] else if (inherits(cond, "warning")) { [12:36:03.242] muffled <- grepl(pattern, "muffleWarning") [12:36:03.242] if (muffled) [12:36:03.242] invokeRestart("muffleWarning") [12:36:03.242] } [12:36:03.242] else if (inherits(cond, "condition")) { [12:36:03.242] if (!is.null(pattern)) { [12:36:03.242] computeRestarts <- base::computeRestarts [12:36:03.242] grepl <- base::grepl [12:36:03.242] restarts <- computeRestarts(cond) [12:36:03.242] for (restart in restarts) { [12:36:03.242] name <- restart$name [12:36:03.242] if (is.null(name)) [12:36:03.242] next [12:36:03.242] if (!grepl(pattern, name)) [12:36:03.242] next [12:36:03.242] invokeRestart(restart) [12:36:03.242] muffled <- TRUE [12:36:03.242] break [12:36:03.242] } [12:36:03.242] } [12:36:03.242] } [12:36:03.242] invisible(muffled) [12:36:03.242] } [12:36:03.242] muffleCondition(cond, pattern = "^muffle") [12:36:03.242] } [12:36:03.242] } [12:36:03.242] else { [12:36:03.242] if (TRUE) { [12:36:03.242] muffleCondition <- function (cond, pattern = "^muffle") [12:36:03.242] { [12:36:03.242] inherits <- base::inherits [12:36:03.242] invokeRestart <- base::invokeRestart [12:36:03.242] is.null <- base::is.null [12:36:03.242] muffled <- FALSE [12:36:03.242] if (inherits(cond, "message")) { [12:36:03.242] muffled <- grepl(pattern, "muffleMessage") [12:36:03.242] if (muffled) [12:36:03.242] invokeRestart("muffleMessage") [12:36:03.242] } [12:36:03.242] else if (inherits(cond, "warning")) { [12:36:03.242] muffled <- grepl(pattern, "muffleWarning") [12:36:03.242] if (muffled) [12:36:03.242] invokeRestart("muffleWarning") [12:36:03.242] } [12:36:03.242] else if (inherits(cond, "condition")) { [12:36:03.242] if (!is.null(pattern)) { [12:36:03.242] computeRestarts <- base::computeRestarts [12:36:03.242] grepl <- base::grepl [12:36:03.242] restarts <- computeRestarts(cond) [12:36:03.242] for (restart in restarts) { [12:36:03.242] name <- restart$name [12:36:03.242] if (is.null(name)) [12:36:03.242] next [12:36:03.242] if (!grepl(pattern, name)) [12:36:03.242] next [12:36:03.242] invokeRestart(restart) [12:36:03.242] muffled <- TRUE [12:36:03.242] break [12:36:03.242] } [12:36:03.242] } [12:36:03.242] } [12:36:03.242] invisible(muffled) [12:36:03.242] } [12:36:03.242] muffleCondition(cond, pattern = "^muffle") [12:36:03.242] } [12:36:03.242] } [12:36:03.242] } [12:36:03.242] })) [12:36:03.242] }, error = function(ex) { [12:36:03.242] base::structure(base::list(value = NULL, visible = NULL, [12:36:03.242] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [12:36:03.242] ...future.rng), started = ...future.startTime, [12:36:03.242] finished = Sys.time(), session_uuid = NA_character_, [12:36:03.242] version = "1.8"), class = "FutureResult") [12:36:03.242] }, finally = { [12:36:03.242] if (!identical(...future.workdir, getwd())) [12:36:03.242] setwd(...future.workdir) [12:36:03.242] { [12:36:03.242] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [12:36:03.242] ...future.oldOptions$nwarnings <- NULL [12:36:03.242] } [12:36:03.242] base::options(...future.oldOptions) [12:36:03.242] if (.Platform$OS.type == "windows") { [12:36:03.242] old_names <- names(...future.oldEnvVars) [12:36:03.242] envs <- base::Sys.getenv() [12:36:03.242] names <- names(envs) [12:36:03.242] common <- intersect(names, old_names) [12:36:03.242] added <- setdiff(names, old_names) [12:36:03.242] removed <- setdiff(old_names, names) [12:36:03.242] changed <- common[...future.oldEnvVars[common] != [12:36:03.242] envs[common]] [12:36:03.242] NAMES <- toupper(changed) [12:36:03.242] args <- list() [12:36:03.242] for (kk in seq_along(NAMES)) { [12:36:03.242] name <- changed[[kk]] [12:36:03.242] NAME <- NAMES[[kk]] [12:36:03.242] if (name != NAME && is.element(NAME, old_names)) [12:36:03.242] next [12:36:03.242] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:03.242] } [12:36:03.242] NAMES <- toupper(added) [12:36:03.242] for (kk in seq_along(NAMES)) { [12:36:03.242] name <- added[[kk]] [12:36:03.242] NAME <- NAMES[[kk]] [12:36:03.242] if (name != NAME && is.element(NAME, old_names)) [12:36:03.242] next [12:36:03.242] args[[name]] <- "" [12:36:03.242] } [12:36:03.242] NAMES <- toupper(removed) [12:36:03.242] for (kk in seq_along(NAMES)) { [12:36:03.242] name <- removed[[kk]] [12:36:03.242] NAME <- NAMES[[kk]] [12:36:03.242] if (name != NAME && is.element(NAME, old_names)) [12:36:03.242] next [12:36:03.242] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:03.242] } [12:36:03.242] if (length(args) > 0) [12:36:03.242] base::do.call(base::Sys.setenv, args = args) [12:36:03.242] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [12:36:03.242] } [12:36:03.242] else { [12:36:03.242] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [12:36:03.242] } [12:36:03.242] { [12:36:03.242] if (base::length(...future.futureOptionsAdded) > [12:36:03.242] 0L) { [12:36:03.242] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [12:36:03.242] base::names(opts) <- ...future.futureOptionsAdded [12:36:03.242] base::options(opts) [12:36:03.242] } [12:36:03.242] { [12:36:03.242] NULL [12:36:03.242] options(future.plan = NULL) [12:36:03.242] if (is.na(NA_character_)) [12:36:03.242] Sys.unsetenv("R_FUTURE_PLAN") [12:36:03.242] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [12:36:03.242] future::plan(...future.strategy.old, .cleanup = FALSE, [12:36:03.242] .init = FALSE) [12:36:03.242] } [12:36:03.242] } [12:36:03.242] } [12:36:03.242] }) [12:36:03.242] if (TRUE) { [12:36:03.242] base::sink(type = "output", split = FALSE) [12:36:03.242] if (TRUE) { [12:36:03.242] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [12:36:03.242] } [12:36:03.242] else { [12:36:03.242] ...future.result["stdout"] <- base::list(NULL) [12:36:03.242] } [12:36:03.242] base::close(...future.stdout) [12:36:03.242] ...future.stdout <- NULL [12:36:03.242] } [12:36:03.242] ...future.result$conditions <- ...future.conditions [12:36:03.242] ...future.result$finished <- base::Sys.time() [12:36:03.242] ...future.result [12:36:03.242] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in 'tests/dotdotdot.R' failed. Complete output: > source("incl/start.R") Loading required package: future [12:36:03.774] plan(): Setting new future strategy stack: [12:36:03.776] List of future strategies: [12:36:03.776] 1. mirai_multisession: [12:36:03.776] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [12:36:03.776] - tweaked: FALSE [12:36:03.776] - call: future::plan(future.mirai::mirai_multisession) [12:36:03.795] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [12:36:03.796] < mirai [$data] > [12:36:03.801] getGlobalsAndPackages() ... [12:36:03.801] Not searching for globals [12:36:03.802] - globals: [0] <none> [12:36:03.802] getGlobalsAndPackages() ... DONE [12:36:03.802] getGlobalsAndPackages() ... [12:36:03.802] [12:36:03.803] - globals: [0] <none> [12:36:03.803] getGlobalsAndPackages() ... DONE [12:36:04.192] Packages needed by the future expression (n = 0): <none> [12:36:04.192] Packages needed by future strategies (n = 0): <none> [12:36:04.194] { [12:36:04.194] { [12:36:04.194] { [12:36:04.194] ...future.startTime <- base::Sys.time() [12:36:04.194] { [12:36:04.194] { [12:36:04.194] { [12:36:04.194] base::local({ [12:36:04.194] has_future <- base::requireNamespace("future", [12:36:04.194] quietly = TRUE) [12:36:04.194] if (has_future) { [12:36:04.194] ns <- base::getNamespace("future") [12:36:04.194] version <- ns[[".package"]][["version"]] [12:36:04.194] if (is.null(version)) [12:36:04.194] version <- utils::packageVersion("future") [12:36:04.194] } [12:36:04.194] else { [12:36:04.194] version <- NULL [12:36:04.194] } [12:36:04.194] if (!has_future || version < "1.8.0") { [12:36:04.194] info <- base::c(r_version = base::gsub("R version ", [12:36:04.194] "", base::R.version$version.string), [12:36:04.194] platform = base::sprintf("%s (%s-bit)", [12:36:04.194] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [12:36:04.194] os = base::paste(base::Sys.info()[base::c("sysname", [12:36:04.194] "release", "version")], collapse = " "), [12:36:04.194] hostname = base::Sys.info()[["nodename"]]) [12:36:04.194] info <- base::sprintf("%s: %s", base::names(info), [12:36:04.194] info) [12:36:04.194] info <- base::paste(info, collapse = "; ") [12:36:04.194] if (!has_future) { [12:36:04.194] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [12:36:04.194] info) [12:36:04.194] } [12:36:04.194] else { [12:36:04.194] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [12:36:04.194] info, version) [12:36:04.194] } [12:36:04.194] base::stop(msg) [12:36:04.194] } [12:36:04.194] }) [12:36:04.194] } [12:36:04.194] ...future.strategy.old <- future::plan("list") [12:36:04.194] options(future.plan = NULL) [12:36:04.194] Sys.unsetenv("R_FUTURE_PLAN") [12:36:04.194] future::plan("default", .cleanup = FALSE, .init = FALSE) [12:36:04.194] } [12:36:04.194] ...future.workdir <- getwd() [12:36:04.194] } [12:36:04.194] ...future.oldOptions <- base::as.list(base::.Options) [12:36:04.194] ...future.oldEnvVars <- base::Sys.getenv() [12:36:04.194] } [12:36:04.194] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [12:36:04.194] future.globals.maxSize = NULL, future.globals.method = NULL, [12:36:04.194] future.globals.onMissing = NULL, future.globals.onReference = NULL, [12:36:04.194] future.globals.resolve = NULL, future.resolve.recursive = NULL, [12:36:04.194] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [12:36:04.194] future.stdout.windows.reencode = NULL, width = 80L) [12:36:04.194] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [12:36:04.194] base::names(...future.oldOptions)) [12:36:04.194] } [12:36:04.194] if (FALSE) { [12:36:04.194] } [12:36:04.194] else { [12:36:04.194] if (TRUE) { [12:36:04.194] ...future.stdout <- base::rawConnection(base::raw(0L), [12:36:04.194] open = "w") [12:36:04.194] } [12:36:04.194] else { [12:36:04.194] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [12:36:04.194] windows = "NUL", "/dev/null"), open = "w") [12:36:04.194] } [12:36:04.194] base::sink(...future.stdout, type = "output", split = FALSE) [12:36:04.194] base::on.exit(if (!base::is.null(...future.stdout)) { [12:36:04.194] base::sink(type = "output", split = FALSE) [12:36:04.194] base::close(...future.stdout) [12:36:04.194] }, add = TRUE) [12:36:04.194] } [12:36:04.194] ...future.frame <- base::sys.nframe() [12:36:04.194] ...future.conditions <- base::list() [12:36:04.194] ...future.rng <- base::globalenv()$.Random.seed [12:36:04.194] if (FALSE) { [12:36:04.194] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [12:36:04.194] "...future.value", "...future.globalenv.names", ".Random.seed") [12:36:04.194] } [12:36:04.194] ...future.result <- base::tryCatch({ [12:36:04.194] base::withCallingHandlers({ [12:36:04.194] ...future.value <- base::withVisible(base::local(NA)) [12:36:04.194] future::FutureResult(value = ...future.value$value, [12:36:04.194] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [12:36:04.194] ...future.rng), globalenv = if (FALSE) [12:36:04.194] list(added = base::setdiff(base::names(base::.GlobalEnv), [12:36:04.194] ...future.globalenv.names)) [12:36:04.194] else NULL, started = ...future.startTime, version = "1.8") [12:36:04.194] }, condition = base::local({ [12:36:04.194] c <- base::c [12:36:04.194] inherits <- base::inherits [12:36:04.194] invokeRestart <- base::invokeRestart [12:36:04.194] length <- base::length [12:36:04.194] list <- base::list [12:36:04.194] seq.int <- base::seq.int [12:36:04.194] signalCondition <- base::signalCondition [12:36:04.194] sys.calls <- base::sys.calls [12:36:04.194] `[[` <- base::`[[` [12:36:04.194] `+` <- base::`+` [12:36:04.194] `<<-` <- base::`<<-` [12:36:04.194] sysCalls <- function(calls = sys.calls(), from = 1L) { [12:36:04.194] calls[seq.int(from = from + 12L, to = length(calls) - [12:36:04.194] 3L)] [12:36:04.194] } [12:36:04.194] function(cond) { [12:36:04.194] is_error <- inherits(cond, "error") [12:36:04.194] ignore <- !is_error && !is.null(NULL) && inherits(cond, [12:36:04.194] NULL) [12:36:04.194] if (is_error) { [12:36:04.194] sessionInformation <- function() { [12:36:04.194] list(r = base::R.Version(), locale = base::Sys.getlocale(), [12:36:04.194] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [12:36:04.194] search = base::search(), system = base::Sys.info()) [12:36:04.194] } [12:36:04.194] ...future.conditions[[length(...future.conditions) + [12:36:04.194] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [12:36:04.194] cond$call), session = sessionInformation(), [12:36:04.194] timestamp = base::Sys.time(), signaled = 0L) [12:36:04.194] signalCondition(cond) [12:36:04.194] } [12:36:04.194] else if (!ignore && TRUE && inherits(cond, "condition")) { [12:36:04.194] signal <- FALSE && inherits(cond, character(0)) [12:36:04.194] ...future.conditions[[length(...future.conditions) + [12:36:04.194] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [12:36:04.194] if (FALSE && !signal) { [12:36:04.194] muffleCondition <- function (cond, pattern = "^muffle") [12:36:04.194] { [12:36:04.194] inherits <- base::inherits [12:36:04.194] invokeRestart <- base::invokeRestart [12:36:04.194] is.null <- base::is.null [12:36:04.194] muffled <- FALSE [12:36:04.194] if (inherits(cond, "message")) { [12:36:04.194] muffled <- grepl(pattern, "muffleMessage") [12:36:04.194] if (muffled) [12:36:04.194] invokeRestart("muffleMessage") [12:36:04.194] } [12:36:04.194] else if (inherits(cond, "warning")) { [12:36:04.194] muffled <- grepl(pattern, "muffleWarning") [12:36:04.194] if (muffled) [12:36:04.194] invokeRestart("muffleWarning") [12:36:04.194] } [12:36:04.194] else if (inherits(cond, "condition")) { [12:36:04.194] if (!is.null(pattern)) { [12:36:04.194] computeRestarts <- base::computeRestarts [12:36:04.194] grepl <- base::grepl [12:36:04.194] restarts <- computeRestarts(cond) [12:36:04.194] for (restart in restarts) { [12:36:04.194] name <- restart$name [12:36:04.194] if (is.null(name)) [12:36:04.194] next [12:36:04.194] if (!grepl(pattern, name)) [12:36:04.194] next [12:36:04.194] invokeRestart(restart) [12:36:04.194] muffled <- TRUE [12:36:04.194] break [12:36:04.194] } [12:36:04.194] } [12:36:04.194] } [12:36:04.194] invisible(muffled) [12:36:04.194] } [12:36:04.194] muffleCondition(cond, pattern = "^muffle") [12:36:04.194] } [12:36:04.194] } [12:36:04.194] else { [12:36:04.194] if (TRUE) { [12:36:04.194] muffleCondition <- function (cond, pattern = "^muffle") [12:36:04.194] { [12:36:04.194] inherits <- base::inherits [12:36:04.194] invokeRestart <- base::invokeRestart [12:36:04.194] is.null <- base::is.null [12:36:04.194] muffled <- FALSE [12:36:04.194] if (inherits(cond, "message")) { [12:36:04.194] muffled <- grepl(pattern, "muffleMessage") [12:36:04.194] if (muffled) [12:36:04.194] invokeRestart("muffleMessage") [12:36:04.194] } [12:36:04.194] else if (inherits(cond, "warning")) { [12:36:04.194] muffled <- grepl(pattern, "muffleWarning") [12:36:04.194] if (muffled) [12:36:04.194] invokeRestart("muffleWarning") [12:36:04.194] } [12:36:04.194] else if (inherits(cond, "condition")) { [12:36:04.194] if (!is.null(pattern)) { [12:36:04.194] computeRestarts <- base::computeRestarts [12:36:04.194] grepl <- base::grepl [12:36:04.194] restarts <- computeRestarts(cond) [12:36:04.194] for (restart in restarts) { [12:36:04.194] name <- restart$name [12:36:04.194] if (is.null(name)) [12:36:04.194] next [12:36:04.194] if (!grepl(pattern, name)) [12:36:04.194] next [12:36:04.194] invokeRestart(restart) [12:36:04.194] muffled <- TRUE [12:36:04.194] break [12:36:04.194] } [12:36:04.194] } [12:36:04.194] } [12:36:04.194] invisible(muffled) [12:36:04.194] } [12:36:04.194] muffleCondition(cond, pattern = "^muffle") [12:36:04.194] } [12:36:04.194] } [12:36:04.194] } [12:36:04.194] })) [12:36:04.194] }, error = function(ex) { [12:36:04.194] base::structure(base::list(value = NULL, visible = NULL, [12:36:04.194] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [12:36:04.194] ...future.rng), started = ...future.startTime, [12:36:04.194] finished = Sys.time(), session_uuid = NA_character_, [12:36:04.194] version = "1.8"), class = "FutureResult") [12:36:04.194] }, finally = { [12:36:04.194] if (!identical(...future.workdir, getwd())) [12:36:04.194] setwd(...future.workdir) [12:36:04.194] { [12:36:04.194] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [12:36:04.194] ...future.oldOptions$nwarnings <- NULL [12:36:04.194] } [12:36:04.194] base::options(...future.oldOptions) [12:36:04.194] if (.Platform$OS.type == "windows") { [12:36:04.194] old_names <- names(...future.oldEnvVars) [12:36:04.194] envs <- base::Sys.getenv() [12:36:04.194] names <- names(envs) [12:36:04.194] common <- intersect(names, old_names) [12:36:04.194] added <- setdiff(names, old_names) [12:36:04.194] removed <- setdiff(old_names, names) [12:36:04.194] changed <- common[...future.oldEnvVars[common] != [12:36:04.194] envs[common]] [12:36:04.194] NAMES <- toupper(changed) [12:36:04.194] args <- list() [12:36:04.194] for (kk in seq_along(NAMES)) { [12:36:04.194] name <- changed[[kk]] [12:36:04.194] NAME <- NAMES[[kk]] [12:36:04.194] if (name != NAME && is.element(NAME, old_names)) [12:36:04.194] next [12:36:04.194] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:04.194] } [12:36:04.194] NAMES <- toupper(added) [12:36:04.194] for (kk in seq_along(NAMES)) { [12:36:04.194] name <- added[[kk]] [12:36:04.194] NAME <- NAMES[[kk]] [12:36:04.194] if (name != NAME && is.element(NAME, old_names)) [12:36:04.194] next [12:36:04.194] args[[name]] <- "" [12:36:04.194] } [12:36:04.194] NAMES <- toupper(removed) [12:36:04.194] for (kk in seq_along(NAMES)) { [12:36:04.194] name <- removed[[kk]] [12:36:04.194] NAME <- NAMES[[kk]] [12:36:04.194] if (name != NAME && is.element(NAME, old_names)) [12:36:04.194] next [12:36:04.194] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:04.194] } [12:36:04.194] if (length(args) > 0) [12:36:04.194] base::do.call(base::Sys.setenv, args = args) [12:36:04.194] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [12:36:04.194] } [12:36:04.194] else { [12:36:04.194] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [12:36:04.194] } [12:36:04.194] { [12:36:04.194] if (base::length(...future.futureOptionsAdded) > [12:36:04.194] 0L) { [12:36:04.194] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [12:36:04.194] base::names(opts) <- ...future.futureOptionsAdded [12:36:04.194] base::options(opts) [12:36:04.194] } [12:36:04.194] { [12:36:04.194] NULL [12:36:04.194] options(future.plan = NULL) [12:36:04.194] if (is.na(NA_character_)) [12:36:04.194] Sys.unsetenv("R_FUTURE_PLAN") [12:36:04.194] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [12:36:04.194] future::plan(...future.strategy.old, .cleanup = FALSE, [12:36:04.194] .init = FALSE) [12:36:04.194] } [12:36:04.194] } [12:36:04.194] } [12:36:04.194] }) [12:36:04.194] if (TRUE) { [12:36:04.194] base::sink(type = "output", split = FALSE) [12:36:04.194] if (TRUE) { [12:36:04.194] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [12:36:04.194] } [12:36:04.194] else { [12:36:04.194] ...future.result["stdout"] <- base::list(NULL) [12:36:04.194] } [12:36:04.194] base::close(...future.stdout) [12:36:04.194] ...future.stdout <- NULL [12:36:04.194] } [12:36:04.194] ...future.result$conditions <- ...future.conditions [12:36:04.194] ...future.result$finished <- base::Sys.time() [12:36:04.194] ...future.result [12:36:04.194] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in 'tests/future,labels.R' failed. Complete output: > source("incl/start.R") Loading required package: future [12:36:04.801] plan(): Setting new future strategy stack: [12:36:04.803] List of future strategies: [12:36:04.803] 1. mirai_multisession: [12:36:04.803] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [12:36:04.803] - tweaked: FALSE [12:36:04.803] - call: future::plan(future.mirai::mirai_multisession) [12:36:04.825] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [12:36:04.825] < mirai [$data] > [12:36:04.839] getGlobalsAndPackages() ... [12:36:04.840] Not searching for globals [12:36:04.840] - globals: [0] <none> [12:36:04.840] getGlobalsAndPackages() ... DONE [12:36:04.841] getGlobalsAndPackages() ... [12:36:04.841] [12:36:04.841] - globals: [0] <none> [12:36:04.842] getGlobalsAndPackages() ... DONE [12:36:05.255] Packages needed by the future expression (n = 0): <none> [12:36:05.255] Packages needed by future strategies (n = 0): <none> [12:36:05.256] { [12:36:05.256] { [12:36:05.256] { [12:36:05.256] ...future.startTime <- base::Sys.time() [12:36:05.256] { [12:36:05.256] { [12:36:05.256] { [12:36:05.256] base::local({ [12:36:05.256] has_future <- base::requireNamespace("future", [12:36:05.256] quietly = TRUE) [12:36:05.256] if (has_future) { [12:36:05.256] ns <- base::getNamespace("future") [12:36:05.256] version <- ns[[".package"]][["version"]] [12:36:05.256] if (is.null(version)) [12:36:05.256] version <- utils::packageVersion("future") [12:36:05.256] } [12:36:05.256] else { [12:36:05.256] version <- NULL [12:36:05.256] } [12:36:05.256] if (!has_future || version < "1.8.0") { [12:36:05.256] info <- base::c(r_version = base::gsub("R version ", [12:36:05.256] "", base::R.version$version.string), [12:36:05.256] platform = base::sprintf("%s (%s-bit)", [12:36:05.256] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [12:36:05.256] os = base::paste(base::Sys.info()[base::c("sysname", [12:36:05.256] "release", "version")], collapse = " "), [12:36:05.256] hostname = base::Sys.info()[["nodename"]]) [12:36:05.256] info <- base::sprintf("%s: %s", base::names(info), [12:36:05.256] info) [12:36:05.256] info <- base::paste(info, collapse = "; ") [12:36:05.256] if (!has_future) { [12:36:05.256] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [12:36:05.256] info) [12:36:05.256] } [12:36:05.256] else { [12:36:05.256] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [12:36:05.256] info, version) [12:36:05.256] } [12:36:05.256] base::stop(msg) [12:36:05.256] } [12:36:05.256] }) [12:36:05.256] } [12:36:05.256] ...future.strategy.old <- future::plan("list") [12:36:05.256] options(future.plan = NULL) [12:36:05.256] Sys.unsetenv("R_FUTURE_PLAN") [12:36:05.256] future::plan("default", .cleanup = FALSE, .init = FALSE) [12:36:05.256] } [12:36:05.256] ...future.workdir <- getwd() [12:36:05.256] } [12:36:05.256] ...future.oldOptions <- base::as.list(base::.Options) [12:36:05.256] ...future.oldEnvVars <- base::Sys.getenv() [12:36:05.256] } [12:36:05.256] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [12:36:05.256] future.globals.maxSize = NULL, future.globals.method = NULL, [12:36:05.256] future.globals.onMissing = NULL, future.globals.onReference = NULL, [12:36:05.256] future.globals.resolve = NULL, future.resolve.recursive = NULL, [12:36:05.256] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [12:36:05.256] future.stdout.windows.reencode = NULL, width = 80L) [12:36:05.256] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [12:36:05.256] base::names(...future.oldOptions)) [12:36:05.256] } [12:36:05.256] if (FALSE) { [12:36:05.256] } [12:36:05.256] else { [12:36:05.256] if (TRUE) { [12:36:05.256] ...future.stdout <- base::rawConnection(base::raw(0L), [12:36:05.256] open = "w") [12:36:05.256] } [12:36:05.256] else { [12:36:05.256] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [12:36:05.256] windows = "NUL", "/dev/null"), open = "w") [12:36:05.256] } [12:36:05.256] base::sink(...future.stdout, type = "output", split = FALSE) [12:36:05.256] base::on.exit(if (!base::is.null(...future.stdout)) { [12:36:05.256] base::sink(type = "output", split = FALSE) [12:36:05.256] base::close(...future.stdout) [12:36:05.256] }, add = TRUE) [12:36:05.256] } [12:36:05.256] ...future.frame <- base::sys.nframe() [12:36:05.256] ...future.conditions <- base::list() [12:36:05.256] ...future.rng <- base::globalenv()$.Random.seed [12:36:05.256] if (FALSE) { [12:36:05.256] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [12:36:05.256] "...future.value", "...future.globalenv.names", ".Random.seed") [12:36:05.256] } [12:36:05.256] ...future.result <- base::tryCatch({ [12:36:05.256] base::withCallingHandlers({ [12:36:05.256] ...future.value <- base::withVisible(base::local(NA)) [12:36:05.256] future::FutureResult(value = ...future.value$value, [12:36:05.256] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [12:36:05.256] ...future.rng), globalenv = if (FALSE) [12:36:05.256] list(added = base::setdiff(base::names(base::.GlobalEnv), [12:36:05.256] ...future.globalenv.names)) [12:36:05.256] else NULL, started = ...future.startTime, version = "1.8") [12:36:05.256] }, condition = base::local({ [12:36:05.256] c <- base::c [12:36:05.256] inherits <- base::inherits [12:36:05.256] invokeRestart <- base::invokeRestart [12:36:05.256] length <- base::length [12:36:05.256] list <- base::list [12:36:05.256] seq.int <- base::seq.int [12:36:05.256] signalCondition <- base::signalCondition [12:36:05.256] sys.calls <- base::sys.calls [12:36:05.256] `[[` <- base::`[[` [12:36:05.256] `+` <- base::`+` [12:36:05.256] `<<-` <- base::`<<-` [12:36:05.256] sysCalls <- function(calls = sys.calls(), from = 1L) { [12:36:05.256] calls[seq.int(from = from + 12L, to = length(calls) - [12:36:05.256] 3L)] [12:36:05.256] } [12:36:05.256] function(cond) { [12:36:05.256] is_error <- inherits(cond, "error") [12:36:05.256] ignore <- !is_error && !is.null(NULL) && inherits(cond, [12:36:05.256] NULL) [12:36:05.256] if (is_error) { [12:36:05.256] sessionInformation <- function() { [12:36:05.256] list(r = base::R.Version(), locale = base::Sys.getlocale(), [12:36:05.256] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [12:36:05.256] search = base::search(), system = base::Sys.info()) [12:36:05.256] } [12:36:05.256] ...future.conditions[[length(...future.conditions) + [12:36:05.256] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [12:36:05.256] cond$call), session = sessionInformation(), [12:36:05.256] timestamp = base::Sys.time(), signaled = 0L) [12:36:05.256] signalCondition(cond) [12:36:05.256] } [12:36:05.256] else if (!ignore && TRUE && inherits(cond, "condition")) { [12:36:05.256] signal <- FALSE && inherits(cond, character(0)) [12:36:05.256] ...future.conditions[[length(...future.conditions) + [12:36:05.256] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [12:36:05.256] if (FALSE && !signal) { [12:36:05.256] muffleCondition <- function (cond, pattern = "^muffle") [12:36:05.256] { [12:36:05.256] inherits <- base::inherits [12:36:05.256] invokeRestart <- base::invokeRestart [12:36:05.256] is.null <- base::is.null [12:36:05.256] muffled <- FALSE [12:36:05.256] if (inherits(cond, "message")) { [12:36:05.256] muffled <- grepl(pattern, "muffleMessage") [12:36:05.256] if (muffled) [12:36:05.256] invokeRestart("muffleMessage") [12:36:05.256] } [12:36:05.256] else if (inherits(cond, "warning")) { [12:36:05.256] muffled <- grepl(pattern, "muffleWarning") [12:36:05.256] if (muffled) [12:36:05.256] invokeRestart("muffleWarning") [12:36:05.256] } [12:36:05.256] else if (inherits(cond, "condition")) { [12:36:05.256] if (!is.null(pattern)) { [12:36:05.256] computeRestarts <- base::computeRestarts [12:36:05.256] grepl <- base::grepl [12:36:05.256] restarts <- computeRestarts(cond) [12:36:05.256] for (restart in restarts) { [12:36:05.256] name <- restart$name [12:36:05.256] if (is.null(name)) [12:36:05.256] next [12:36:05.256] if (!grepl(pattern, name)) [12:36:05.256] next [12:36:05.256] invokeRestart(restart) [12:36:05.256] muffled <- TRUE [12:36:05.256] break [12:36:05.256] } [12:36:05.256] } [12:36:05.256] } [12:36:05.256] invisible(muffled) [12:36:05.256] } [12:36:05.256] muffleCondition(cond, pattern = "^muffle") [12:36:05.256] } [12:36:05.256] } [12:36:05.256] else { [12:36:05.256] if (TRUE) { [12:36:05.256] muffleCondition <- function (cond, pattern = "^muffle") [12:36:05.256] { [12:36:05.256] inherits <- base::inherits [12:36:05.256] invokeRestart <- base::invokeRestart [12:36:05.256] is.null <- base::is.null [12:36:05.256] muffled <- FALSE [12:36:05.256] if (inherits(cond, "message")) { [12:36:05.256] muffled <- grepl(pattern, "muffleMessage") [12:36:05.256] if (muffled) [12:36:05.256] invokeRestart("muffleMessage") [12:36:05.256] } [12:36:05.256] else if (inherits(cond, "warning")) { [12:36:05.256] muffled <- grepl(pattern, "muffleWarning") [12:36:05.256] if (muffled) [12:36:05.256] invokeRestart("muffleWarning") [12:36:05.256] } [12:36:05.256] else if (inherits(cond, "condition")) { [12:36:05.256] if (!is.null(pattern)) { [12:36:05.256] computeRestarts <- base::computeRestarts [12:36:05.256] grepl <- base::grepl [12:36:05.256] restarts <- computeRestarts(cond) [12:36:05.256] for (restart in restarts) { [12:36:05.256] name <- restart$name [12:36:05.256] if (is.null(name)) [12:36:05.256] next [12:36:05.256] if (!grepl(pattern, name)) [12:36:05.256] next [12:36:05.256] invokeRestart(restart) [12:36:05.256] muffled <- TRUE [12:36:05.256] break [12:36:05.256] } [12:36:05.256] } [12:36:05.256] } [12:36:05.256] invisible(muffled) [12:36:05.256] } [12:36:05.256] muffleCondition(cond, pattern = "^muffle") [12:36:05.256] } [12:36:05.256] } [12:36:05.256] } [12:36:05.256] })) [12:36:05.256] }, error = function(ex) { [12:36:05.256] base::structure(base::list(value = NULL, visible = NULL, [12:36:05.256] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [12:36:05.256] ...future.rng), started = ...future.startTime, [12:36:05.256] finished = Sys.time(), session_uuid = NA_character_, [12:36:05.256] version = "1.8"), class = "FutureResult") [12:36:05.256] }, finally = { [12:36:05.256] if (!identical(...future.workdir, getwd())) [12:36:05.256] setwd(...future.workdir) [12:36:05.256] { [12:36:05.256] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [12:36:05.256] ...future.oldOptions$nwarnings <- NULL [12:36:05.256] } [12:36:05.256] base::options(...future.oldOptions) [12:36:05.256] if (.Platform$OS.type == "windows") { [12:36:05.256] old_names <- names(...future.oldEnvVars) [12:36:05.256] envs <- base::Sys.getenv() [12:36:05.256] names <- names(envs) [12:36:05.256] common <- intersect(names, old_names) [12:36:05.256] added <- setdiff(names, old_names) [12:36:05.256] removed <- setdiff(old_names, names) [12:36:05.256] changed <- common[...future.oldEnvVars[common] != [12:36:05.256] envs[common]] [12:36:05.256] NAMES <- toupper(changed) [12:36:05.256] args <- list() [12:36:05.256] for (kk in seq_along(NAMES)) { [12:36:05.256] name <- changed[[kk]] [12:36:05.256] NAME <- NAMES[[kk]] [12:36:05.256] if (name != NAME && is.element(NAME, old_names)) [12:36:05.256] next [12:36:05.256] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:05.256] } [12:36:05.256] NAMES <- toupper(added) [12:36:05.256] for (kk in seq_along(NAMES)) { [12:36:05.256] name <- added[[kk]] [12:36:05.256] NAME <- NAMES[[kk]] [12:36:05.256] if (name != NAME && is.element(NAME, old_names)) [12:36:05.256] next [12:36:05.256] args[[name]] <- "" [12:36:05.256] } [12:36:05.256] NAMES <- toupper(removed) [12:36:05.256] for (kk in seq_along(NAMES)) { [12:36:05.256] name <- removed[[kk]] [12:36:05.256] NAME <- NAMES[[kk]] [12:36:05.256] if (name != NAME && is.element(NAME, old_names)) [12:36:05.256] next [12:36:05.256] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:05.256] } [12:36:05.256] if (length(args) > 0) [12:36:05.256] base::do.call(base::Sys.setenv, args = args) [12:36:05.256] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [12:36:05.256] } [12:36:05.256] else { [12:36:05.256] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [12:36:05.256] } [12:36:05.256] { [12:36:05.256] if (base::length(...future.futureOptionsAdded) > [12:36:05.256] 0L) { [12:36:05.256] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [12:36:05.256] base::names(opts) <- ...future.futureOptionsAdded [12:36:05.256] base::options(opts) [12:36:05.256] } [12:36:05.256] { [12:36:05.256] NULL [12:36:05.256] options(future.plan = NULL) [12:36:05.256] if (is.na(NA_character_)) [12:36:05.256] Sys.unsetenv("R_FUTURE_PLAN") [12:36:05.256] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [12:36:05.256] future::plan(...future.strategy.old, .cleanup = FALSE, [12:36:05.256] .init = FALSE) [12:36:05.256] } [12:36:05.256] } [12:36:05.256] } [12:36:05.256] }) [12:36:05.256] if (TRUE) { [12:36:05.256] base::sink(type = "output", split = FALSE) [12:36:05.256] if (TRUE) { [12:36:05.256] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [12:36:05.256] } [12:36:05.256] else { [12:36:05.256] ...future.result["stdout"] <- base::list(NULL) [12:36:05.256] } [12:36:05.256] base::close(...future.stdout) [12:36:05.256] ...future.stdout <- NULL [12:36:05.256] } [12:36:05.256] ...future.result$conditions <- ...future.conditions [12:36:05.256] ...future.result$finished <- base::Sys.time() [12:36:05.256] ...future.result [12:36:05.256] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in 'tests/future,lazy.R' failed. Complete output: > source("incl/start.R") Loading required package: future [12:36:05.792] plan(): Setting new future strategy stack: [12:36:05.793] List of future strategies: [12:36:05.793] 1. mirai_multisession: [12:36:05.793] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [12:36:05.793] - tweaked: FALSE [12:36:05.793] - call: future::plan(future.mirai::mirai_multisession) [12:36:05.808] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [12:36:05.808] < mirai [$data] > [12:36:05.814] getGlobalsAndPackages() ... [12:36:05.815] Not searching for globals [12:36:05.815] - globals: [0] <none> [12:36:05.815] getGlobalsAndPackages() ... DONE [12:36:05.816] getGlobalsAndPackages() ... [12:36:05.816] [12:36:05.816] - globals: [0] <none> [12:36:05.816] getGlobalsAndPackages() ... DONE [12:36:06.254] Packages needed by the future expression (n = 0): <none> [12:36:06.255] Packages needed by future strategies (n = 0): <none> [12:36:06.256] { [12:36:06.256] { [12:36:06.256] { [12:36:06.256] ...future.startTime <- base::Sys.time() [12:36:06.256] { [12:36:06.256] { [12:36:06.256] { [12:36:06.256] base::local({ [12:36:06.256] has_future <- base::requireNamespace("future", [12:36:06.256] quietly = TRUE) [12:36:06.256] if (has_future) { [12:36:06.256] ns <- base::getNamespace("future") [12:36:06.256] version <- ns[[".package"]][["version"]] [12:36:06.256] if (is.null(version)) [12:36:06.256] version <- utils::packageVersion("future") [12:36:06.256] } [12:36:06.256] else { [12:36:06.256] version <- NULL [12:36:06.256] } [12:36:06.256] if (!has_future || version < "1.8.0") { [12:36:06.256] info <- base::c(r_version = base::gsub("R version ", [12:36:06.256] "", base::R.version$version.string), [12:36:06.256] platform = base::sprintf("%s (%s-bit)", [12:36:06.256] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [12:36:06.256] os = base::paste(base::Sys.info()[base::c("sysname", [12:36:06.256] "release", "version")], collapse = " "), [12:36:06.256] hostname = base::Sys.info()[["nodename"]]) [12:36:06.256] info <- base::sprintf("%s: %s", base::names(info), [12:36:06.256] info) [12:36:06.256] info <- base::paste(info, collapse = "; ") [12:36:06.256] if (!has_future) { [12:36:06.256] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [12:36:06.256] info) [12:36:06.256] } [12:36:06.256] else { [12:36:06.256] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [12:36:06.256] info, version) [12:36:06.256] } [12:36:06.256] base::stop(msg) [12:36:06.256] } [12:36:06.256] }) [12:36:06.256] } [12:36:06.256] ...future.strategy.old <- future::plan("list") [12:36:06.256] options(future.plan = NULL) [12:36:06.256] Sys.unsetenv("R_FUTURE_PLAN") [12:36:06.256] future::plan("default", .cleanup = FALSE, .init = FALSE) [12:36:06.256] } [12:36:06.256] ...future.workdir <- getwd() [12:36:06.256] } [12:36:06.256] ...future.oldOptions <- base::as.list(base::.Options) [12:36:06.256] ...future.oldEnvVars <- base::Sys.getenv() [12:36:06.256] } [12:36:06.256] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [12:36:06.256] future.globals.maxSize = NULL, future.globals.method = NULL, [12:36:06.256] future.globals.onMissing = NULL, future.globals.onReference = NULL, [12:36:06.256] future.globals.resolve = NULL, future.resolve.recursive = NULL, [12:36:06.256] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [12:36:06.256] future.stdout.windows.reencode = NULL, width = 80L) [12:36:06.256] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [12:36:06.256] base::names(...future.oldOptions)) [12:36:06.256] } [12:36:06.256] if (FALSE) { [12:36:06.256] } [12:36:06.256] else { [12:36:06.256] if (TRUE) { [12:36:06.256] ...future.stdout <- base::rawConnection(base::raw(0L), [12:36:06.256] open = "w") [12:36:06.256] } [12:36:06.256] else { [12:36:06.256] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [12:36:06.256] windows = "NUL", "/dev/null"), open = "w") [12:36:06.256] } [12:36:06.256] base::sink(...future.stdout, type = "output", split = FALSE) [12:36:06.256] base::on.exit(if (!base::is.null(...future.stdout)) { [12:36:06.256] base::sink(type = "output", split = FALSE) [12:36:06.256] base::close(...future.stdout) [12:36:06.256] }, add = TRUE) [12:36:06.256] } [12:36:06.256] ...future.frame <- base::sys.nframe() [12:36:06.256] ...future.conditions <- base::list() [12:36:06.256] ...future.rng <- base::globalenv()$.Random.seed [12:36:06.256] if (FALSE) { [12:36:06.256] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [12:36:06.256] "...future.value", "...future.globalenv.names", ".Random.seed") [12:36:06.256] } [12:36:06.256] ...future.result <- base::tryCatch({ [12:36:06.256] base::withCallingHandlers({ [12:36:06.256] ...future.value <- base::withVisible(base::local(NA)) [12:36:06.256] future::FutureResult(value = ...future.value$value, [12:36:06.256] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [12:36:06.256] ...future.rng), globalenv = if (FALSE) [12:36:06.256] list(added = base::setdiff(base::names(base::.GlobalEnv), [12:36:06.256] ...future.globalenv.names)) [12:36:06.256] else NULL, started = ...future.startTime, version = "1.8") [12:36:06.256] }, condition = base::local({ [12:36:06.256] c <- base::c [12:36:06.256] inherits <- base::inherits [12:36:06.256] invokeRestart <- base::invokeRestart [12:36:06.256] length <- base::length [12:36:06.256] list <- base::list [12:36:06.256] seq.int <- base::seq.int [12:36:06.256] signalCondition <- base::signalCondition [12:36:06.256] sys.calls <- base::sys.calls [12:36:06.256] `[[` <- base::`[[` [12:36:06.256] `+` <- base::`+` [12:36:06.256] `<<-` <- base::`<<-` [12:36:06.256] sysCalls <- function(calls = sys.calls(), from = 1L) { [12:36:06.256] calls[seq.int(from = from + 12L, to = length(calls) - [12:36:06.256] 3L)] [12:36:06.256] } [12:36:06.256] function(cond) { [12:36:06.256] is_error <- inherits(cond, "error") [12:36:06.256] ignore <- !is_error && !is.null(NULL) && inherits(cond, [12:36:06.256] NULL) [12:36:06.256] if (is_error) { [12:36:06.256] sessionInformation <- function() { [12:36:06.256] list(r = base::R.Version(), locale = base::Sys.getlocale(), [12:36:06.256] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [12:36:06.256] search = base::search(), system = base::Sys.info()) [12:36:06.256] } [12:36:06.256] ...future.conditions[[length(...future.conditions) + [12:36:06.256] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [12:36:06.256] cond$call), session = sessionInformation(), [12:36:06.256] timestamp = base::Sys.time(), signaled = 0L) [12:36:06.256] signalCondition(cond) [12:36:06.256] } [12:36:06.256] else if (!ignore && TRUE && inherits(cond, "condition")) { [12:36:06.256] signal <- FALSE && inherits(cond, character(0)) [12:36:06.256] ...future.conditions[[length(...future.conditions) + [12:36:06.256] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [12:36:06.256] if (FALSE && !signal) { [12:36:06.256] muffleCondition <- function (cond, pattern = "^muffle") [12:36:06.256] { [12:36:06.256] inherits <- base::inherits [12:36:06.256] invokeRestart <- base::invokeRestart [12:36:06.256] is.null <- base::is.null [12:36:06.256] muffled <- FALSE [12:36:06.256] if (inherits(cond, "message")) { [12:36:06.256] muffled <- grepl(pattern, "muffleMessage") [12:36:06.256] if (muffled) [12:36:06.256] invokeRestart("muffleMessage") [12:36:06.256] } [12:36:06.256] else if (inherits(cond, "warning")) { [12:36:06.256] muffled <- grepl(pattern, "muffleWarning") [12:36:06.256] if (muffled) [12:36:06.256] invokeRestart("muffleWarning") [12:36:06.256] } [12:36:06.256] else if (inherits(cond, "condition")) { [12:36:06.256] if (!is.null(pattern)) { [12:36:06.256] computeRestarts <- base::computeRestarts [12:36:06.256] grepl <- base::grepl [12:36:06.256] restarts <- computeRestarts(cond) [12:36:06.256] for (restart in restarts) { [12:36:06.256] name <- restart$name [12:36:06.256] if (is.null(name)) [12:36:06.256] next [12:36:06.256] if (!grepl(pattern, name)) [12:36:06.256] next [12:36:06.256] invokeRestart(restart) [12:36:06.256] muffled <- TRUE [12:36:06.256] break [12:36:06.256] } [12:36:06.256] } [12:36:06.256] } [12:36:06.256] invisible(muffled) [12:36:06.256] } [12:36:06.256] muffleCondition(cond, pattern = "^muffle") [12:36:06.256] } [12:36:06.256] } [12:36:06.256] else { [12:36:06.256] if (TRUE) { [12:36:06.256] muffleCondition <- function (cond, pattern = "^muffle") [12:36:06.256] { [12:36:06.256] inherits <- base::inherits [12:36:06.256] invokeRestart <- base::invokeRestart [12:36:06.256] is.null <- base::is.null [12:36:06.256] muffled <- FALSE [12:36:06.256] if (inherits(cond, "message")) { [12:36:06.256] muffled <- grepl(pattern, "muffleMessage") [12:36:06.256] if (muffled) [12:36:06.256] invokeRestart("muffleMessage") [12:36:06.256] } [12:36:06.256] else if (inherits(cond, "warning")) { [12:36:06.256] muffled <- grepl(pattern, "muffleWarning") [12:36:06.256] if (muffled) [12:36:06.256] invokeRestart("muffleWarning") [12:36:06.256] } [12:36:06.256] else if (inherits(cond, "condition")) { [12:36:06.256] if (!is.null(pattern)) { [12:36:06.256] computeRestarts <- base::computeRestarts [12:36:06.256] grepl <- base::grepl [12:36:06.256] restarts <- computeRestarts(cond) [12:36:06.256] for (restart in restarts) { [12:36:06.256] name <- restart$name [12:36:06.256] if (is.null(name)) [12:36:06.256] next [12:36:06.256] if (!grepl(pattern, name)) [12:36:06.256] next [12:36:06.256] invokeRestart(restart) [12:36:06.256] muffled <- TRUE [12:36:06.256] break [12:36:06.256] } [12:36:06.256] } [12:36:06.256] } [12:36:06.256] invisible(muffled) [12:36:06.256] } [12:36:06.256] muffleCondition(cond, pattern = "^muffle") [12:36:06.256] } [12:36:06.256] } [12:36:06.256] } [12:36:06.256] })) [12:36:06.256] }, error = function(ex) { [12:36:06.256] base::structure(base::list(value = NULL, visible = NULL, [12:36:06.256] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [12:36:06.256] ...future.rng), started = ...future.startTime, [12:36:06.256] finished = Sys.time(), session_uuid = NA_character_, [12:36:06.256] version = "1.8"), class = "FutureResult") [12:36:06.256] }, finally = { [12:36:06.256] if (!identical(...future.workdir, getwd())) [12:36:06.256] setwd(...future.workdir) [12:36:06.256] { [12:36:06.256] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [12:36:06.256] ...future.oldOptions$nwarnings <- NULL [12:36:06.256] } [12:36:06.256] base::options(...future.oldOptions) [12:36:06.256] if (.Platform$OS.type == "windows") { [12:36:06.256] old_names <- names(...future.oldEnvVars) [12:36:06.256] envs <- base::Sys.getenv() [12:36:06.256] names <- names(envs) [12:36:06.256] common <- intersect(names, old_names) [12:36:06.256] added <- setdiff(names, old_names) [12:36:06.256] removed <- setdiff(old_names, names) [12:36:06.256] changed <- common[...future.oldEnvVars[common] != [12:36:06.256] envs[common]] [12:36:06.256] NAMES <- toupper(changed) [12:36:06.256] args <- list() [12:36:06.256] for (kk in seq_along(NAMES)) { [12:36:06.256] name <- changed[[kk]] [12:36:06.256] NAME <- NAMES[[kk]] [12:36:06.256] if (name != NAME && is.element(NAME, old_names)) [12:36:06.256] next [12:36:06.256] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:06.256] } [12:36:06.256] NAMES <- toupper(added) [12:36:06.256] for (kk in seq_along(NAMES)) { [12:36:06.256] name <- added[[kk]] [12:36:06.256] NAME <- NAMES[[kk]] [12:36:06.256] if (name != NAME && is.element(NAME, old_names)) [12:36:06.256] next [12:36:06.256] args[[name]] <- "" [12:36:06.256] } [12:36:06.256] NAMES <- toupper(removed) [12:36:06.256] for (kk in seq_along(NAMES)) { [12:36:06.256] name <- removed[[kk]] [12:36:06.256] NAME <- NAMES[[kk]] [12:36:06.256] if (name != NAME && is.element(NAME, old_names)) [12:36:06.256] next [12:36:06.256] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:06.256] } [12:36:06.256] if (length(args) > 0) [12:36:06.256] base::do.call(base::Sys.setenv, args = args) [12:36:06.256] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [12:36:06.256] } [12:36:06.256] else { [12:36:06.256] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [12:36:06.256] } [12:36:06.256] { [12:36:06.256] if (base::length(...future.futureOptionsAdded) > [12:36:06.256] 0L) { [12:36:06.256] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [12:36:06.256] base::names(opts) <- ...future.futureOptionsAdded [12:36:06.256] base::options(opts) [12:36:06.256] } [12:36:06.256] { [12:36:06.256] NULL [12:36:06.256] options(future.plan = NULL) [12:36:06.256] if (is.na(NA_character_)) [12:36:06.256] Sys.unsetenv("R_FUTURE_PLAN") [12:36:06.256] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [12:36:06.256] future::plan(...future.strategy.old, .cleanup = FALSE, [12:36:06.256] .init = FALSE) [12:36:06.256] } [12:36:06.256] } [12:36:06.256] } [12:36:06.256] }) [12:36:06.256] if (TRUE) { [12:36:06.256] base::sink(type = "output", split = FALSE) [12:36:06.256] if (TRUE) { [12:36:06.256] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [12:36:06.256] } [12:36:06.256] else { [12:36:06.256] ...future.result["stdout"] <- base::list(NULL) [12:36:06.256] } [12:36:06.256] base::close(...future.stdout) [12:36:06.256] ...future.stdout <- NULL [12:36:06.256] } [12:36:06.256] ...future.result$conditions <- ...future.conditions [12:36:06.256] ...future.result$finished <- base::Sys.time() [12:36:06.256] ...future.result [12:36:06.256] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in 'tests/future.tests,mirai_cluster.R' failed. Complete output: > if (requireNamespace("future.tests")) { + mirai::daemons(0) ## Reset any daemons running + + ## FIXME: The following is disabled on MS Windows, because it will + ## result in a 'R CMD check' NOTE on "detritus in the temp directory" [1]. + ## This happens whenever we use mirai::daemons(..., dispatcher = TRUE). + ## [1] https://github.com/shikokuchuo/mirai/discussions/105 + dispatcher <- (.Platform[["OS.type"]] != "windows") + + mirai::daemons(2, dispatcher = dispatcher) + future.tests::check("future.mirai::mirai_cluster", timeout = 10.0, exit_value = FALSE) + + mirai::daemons(0) ## Reset any daemons running + gc() + } Loading required namespace: future.tests ── Settings ──────────────────────────────────────────────────────────────────── - future.tests version : 0.7.0 - R_FUTURE_TESTS_ROOT : - Option 'future.tests.root': NULL - Default test set folder : D:/RCompile/CRANpkg/lib/4.5/future.tests/test-db - Max number of workers : 2 - Timeout : 10 seconds Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: <Anonymous> ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in 'tests/future.tests-mirai_multisession.R' failed. Complete output: > if (requireNamespace("future.tests")) { + mirai::daemons(0) ## Reset any daemons running + + future.tests::check("future.mirai::mirai_multisession", timeout = 30.0, exit_value = FALSE) + + mirai::daemons(0) ## Reset any daemons running + gc() + } Loading required namespace: future.tests ── Settings ──────────────────────────────────────────────────────────────────── - future.tests version : 0.7.0 - R_FUTURE_TESTS_ROOT : - Option 'future.tests.root': NULL - Default test set folder : D:/RCompile/CRANpkg/lib/4.5/future.tests/test-db - Max number of workers : 2 - Timeout : 30 seconds Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: <Anonymous> ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in 'tests/globals,formulas.R' failed. Complete output: > source("incl/start.R") Loading required package: future [12:36:12.381] plan(): Setting new future strategy stack: [12:36:12.382] List of future strategies: [12:36:12.382] 1. mirai_multisession: [12:36:12.382] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [12:36:12.382] - tweaked: FALSE [12:36:12.382] - call: future::plan(future.mirai::mirai_multisession) [12:36:12.399] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [12:36:12.400] < mirai [$data] > [12:36:12.407] getGlobalsAndPackages() ... [12:36:12.408] Not searching for globals [12:36:12.408] - globals: [0] <none> [12:36:12.408] getGlobalsAndPackages() ... DONE [12:36:12.409] getGlobalsAndPackages() ... [12:36:12.409] [12:36:12.410] - globals: [0] <none> [12:36:12.410] getGlobalsAndPackages() ... DONE [12:36:12.822] Packages needed by the future expression (n = 0): <none> [12:36:12.823] Packages needed by future strategies (n = 0): <none> [12:36:12.824] { [12:36:12.824] { [12:36:12.824] { [12:36:12.824] ...future.startTime <- base::Sys.time() [12:36:12.824] { [12:36:12.824] { [12:36:12.824] { [12:36:12.824] base::local({ [12:36:12.824] has_future <- base::requireNamespace("future", [12:36:12.824] quietly = TRUE) [12:36:12.824] if (has_future) { [12:36:12.824] ns <- base::getNamespace("future") [12:36:12.824] version <- ns[[".package"]][["version"]] [12:36:12.824] if (is.null(version)) [12:36:12.824] version <- utils::packageVersion("future") [12:36:12.824] } [12:36:12.824] else { [12:36:12.824] version <- NULL [12:36:12.824] } [12:36:12.824] if (!has_future || version < "1.8.0") { [12:36:12.824] info <- base::c(r_version = base::gsub("R version ", [12:36:12.824] "", base::R.version$version.string), [12:36:12.824] platform = base::sprintf("%s (%s-bit)", [12:36:12.824] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [12:36:12.824] os = base::paste(base::Sys.info()[base::c("sysname", [12:36:12.824] "release", "version")], collapse = " "), [12:36:12.824] hostname = base::Sys.info()[["nodename"]]) [12:36:12.824] info <- base::sprintf("%s: %s", base::names(info), [12:36:12.824] info) [12:36:12.824] info <- base::paste(info, collapse = "; ") [12:36:12.824] if (!has_future) { [12:36:12.824] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [12:36:12.824] info) [12:36:12.824] } [12:36:12.824] else { [12:36:12.824] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [12:36:12.824] info, version) [12:36:12.824] } [12:36:12.824] base::stop(msg) [12:36:12.824] } [12:36:12.824] }) [12:36:12.824] } [12:36:12.824] ...future.strategy.old <- future::plan("list") [12:36:12.824] options(future.plan = NULL) [12:36:12.824] Sys.unsetenv("R_FUTURE_PLAN") [12:36:12.824] future::plan("default", .cleanup = FALSE, .init = FALSE) [12:36:12.824] } [12:36:12.824] ...future.workdir <- getwd() [12:36:12.824] } [12:36:12.824] ...future.oldOptions <- base::as.list(base::.Options) [12:36:12.824] ...future.oldEnvVars <- base::Sys.getenv() [12:36:12.824] } [12:36:12.824] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [12:36:12.824] future.globals.maxSize = NULL, future.globals.method = NULL, [12:36:12.824] future.globals.onMissing = NULL, future.globals.onReference = NULL, [12:36:12.824] future.globals.resolve = NULL, future.resolve.recursive = NULL, [12:36:12.824] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [12:36:12.824] future.stdout.windows.reencode = NULL, width = 80L) [12:36:12.824] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [12:36:12.824] base::names(...future.oldOptions)) [12:36:12.824] } [12:36:12.824] if (FALSE) { [12:36:12.824] } [12:36:12.824] else { [12:36:12.824] if (TRUE) { [12:36:12.824] ...future.stdout <- base::rawConnection(base::raw(0L), [12:36:12.824] open = "w") [12:36:12.824] } [12:36:12.824] else { [12:36:12.824] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [12:36:12.824] windows = "NUL", "/dev/null"), open = "w") [12:36:12.824] } [12:36:12.824] base::sink(...future.stdout, type = "output", split = FALSE) [12:36:12.824] base::on.exit(if (!base::is.null(...future.stdout)) { [12:36:12.824] base::sink(type = "output", split = FALSE) [12:36:12.824] base::close(...future.stdout) [12:36:12.824] }, add = TRUE) [12:36:12.824] } [12:36:12.824] ...future.frame <- base::sys.nframe() [12:36:12.824] ...future.conditions <- base::list() [12:36:12.824] ...future.rng <- base::globalenv()$.Random.seed [12:36:12.824] if (FALSE) { [12:36:12.824] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [12:36:12.824] "...future.value", "...future.globalenv.names", ".Random.seed") [12:36:12.824] } [12:36:12.824] ...future.result <- base::tryCatch({ [12:36:12.824] base::withCallingHandlers({ [12:36:12.824] ...future.value <- base::withVisible(base::local(NA)) [12:36:12.824] future::FutureResult(value = ...future.value$value, [12:36:12.824] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [12:36:12.824] ...future.rng), globalenv = if (FALSE) [12:36:12.824] list(added = base::setdiff(base::names(base::.GlobalEnv), [12:36:12.824] ...future.globalenv.names)) [12:36:12.824] else NULL, started = ...future.startTime, version = "1.8") [12:36:12.824] }, condition = base::local({ [12:36:12.824] c <- base::c [12:36:12.824] inherits <- base::inherits [12:36:12.824] invokeRestart <- base::invokeRestart [12:36:12.824] length <- base::length [12:36:12.824] list <- base::list [12:36:12.824] seq.int <- base::seq.int [12:36:12.824] signalCondition <- base::signalCondition [12:36:12.824] sys.calls <- base::sys.calls [12:36:12.824] `[[` <- base::`[[` [12:36:12.824] `+` <- base::`+` [12:36:12.824] `<<-` <- base::`<<-` [12:36:12.824] sysCalls <- function(calls = sys.calls(), from = 1L) { [12:36:12.824] calls[seq.int(from = from + 12L, to = length(calls) - [12:36:12.824] 3L)] [12:36:12.824] } [12:36:12.824] function(cond) { [12:36:12.824] is_error <- inherits(cond, "error") [12:36:12.824] ignore <- !is_error && !is.null(NULL) && inherits(cond, [12:36:12.824] NULL) [12:36:12.824] if (is_error) { [12:36:12.824] sessionInformation <- function() { [12:36:12.824] list(r = base::R.Version(), locale = base::Sys.getlocale(), [12:36:12.824] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [12:36:12.824] search = base::search(), system = base::Sys.info()) [12:36:12.824] } [12:36:12.824] ...future.conditions[[length(...future.conditions) + [12:36:12.824] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [12:36:12.824] cond$call), session = sessionInformation(), [12:36:12.824] timestamp = base::Sys.time(), signaled = 0L) [12:36:12.824] signalCondition(cond) [12:36:12.824] } [12:36:12.824] else if (!ignore && TRUE && inherits(cond, "condition")) { [12:36:12.824] signal <- FALSE && inherits(cond, character(0)) [12:36:12.824] ...future.conditions[[length(...future.conditions) + [12:36:12.824] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [12:36:12.824] if (FALSE && !signal) { [12:36:12.824] muffleCondition <- function (cond, pattern = "^muffle") [12:36:12.824] { [12:36:12.824] inherits <- base::inherits [12:36:12.824] invokeRestart <- base::invokeRestart [12:36:12.824] is.null <- base::is.null [12:36:12.824] muffled <- FALSE [12:36:12.824] if (inherits(cond, "message")) { [12:36:12.824] muffled <- grepl(pattern, "muffleMessage") [12:36:12.824] if (muffled) [12:36:12.824] invokeRestart("muffleMessage") [12:36:12.824] } [12:36:12.824] else if (inherits(cond, "warning")) { [12:36:12.824] muffled <- grepl(pattern, "muffleWarning") [12:36:12.824] if (muffled) [12:36:12.824] invokeRestart("muffleWarning") [12:36:12.824] } [12:36:12.824] else if (inherits(cond, "condition")) { [12:36:12.824] if (!is.null(pattern)) { [12:36:12.824] computeRestarts <- base::computeRestarts [12:36:12.824] grepl <- base::grepl [12:36:12.824] restarts <- computeRestarts(cond) [12:36:12.824] for (restart in restarts) { [12:36:12.824] name <- restart$name [12:36:12.824] if (is.null(name)) [12:36:12.824] next [12:36:12.824] if (!grepl(pattern, name)) [12:36:12.824] next [12:36:12.824] invokeRestart(restart) [12:36:12.824] muffled <- TRUE [12:36:12.824] break [12:36:12.824] } [12:36:12.824] } [12:36:12.824] } [12:36:12.824] invisible(muffled) [12:36:12.824] } [12:36:12.824] muffleCondition(cond, pattern = "^muffle") [12:36:12.824] } [12:36:12.824] } [12:36:12.824] else { [12:36:12.824] if (TRUE) { [12:36:12.824] muffleCondition <- function (cond, pattern = "^muffle") [12:36:12.824] { [12:36:12.824] inherits <- base::inherits [12:36:12.824] invokeRestart <- base::invokeRestart [12:36:12.824] is.null <- base::is.null [12:36:12.824] muffled <- FALSE [12:36:12.824] if (inherits(cond, "message")) { [12:36:12.824] muffled <- grepl(pattern, "muffleMessage") [12:36:12.824] if (muffled) [12:36:12.824] invokeRestart("muffleMessage") [12:36:12.824] } [12:36:12.824] else if (inherits(cond, "warning")) { [12:36:12.824] muffled <- grepl(pattern, "muffleWarning") [12:36:12.824] if (muffled) [12:36:12.824] invokeRestart("muffleWarning") [12:36:12.824] } [12:36:12.824] else if (inherits(cond, "condition")) { [12:36:12.824] if (!is.null(pattern)) { [12:36:12.824] computeRestarts <- base::computeRestarts [12:36:12.824] grepl <- base::grepl [12:36:12.824] restarts <- computeRestarts(cond) [12:36:12.824] for (restart in restarts) { [12:36:12.824] name <- restart$name [12:36:12.824] if (is.null(name)) [12:36:12.824] next [12:36:12.824] if (!grepl(pattern, name)) [12:36:12.824] next [12:36:12.824] invokeRestart(restart) [12:36:12.824] muffled <- TRUE [12:36:12.824] break [12:36:12.824] } [12:36:12.824] } [12:36:12.824] } [12:36:12.824] invisible(muffled) [12:36:12.824] } [12:36:12.824] muffleCondition(cond, pattern = "^muffle") [12:36:12.824] } [12:36:12.824] } [12:36:12.824] } [12:36:12.824] })) [12:36:12.824] }, error = function(ex) { [12:36:12.824] base::structure(base::list(value = NULL, visible = NULL, [12:36:12.824] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [12:36:12.824] ...future.rng), started = ...future.startTime, [12:36:12.824] finished = Sys.time(), session_uuid = NA_character_, [12:36:12.824] version = "1.8"), class = "FutureResult") [12:36:12.824] }, finally = { [12:36:12.824] if (!identical(...future.workdir, getwd())) [12:36:12.824] setwd(...future.workdir) [12:36:12.824] { [12:36:12.824] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [12:36:12.824] ...future.oldOptions$nwarnings <- NULL [12:36:12.824] } [12:36:12.824] base::options(...future.oldOptions) [12:36:12.824] if (.Platform$OS.type == "windows") { [12:36:12.824] old_names <- names(...future.oldEnvVars) [12:36:12.824] envs <- base::Sys.getenv() [12:36:12.824] names <- names(envs) [12:36:12.824] common <- intersect(names, old_names) [12:36:12.824] added <- setdiff(names, old_names) [12:36:12.824] removed <- setdiff(old_names, names) [12:36:12.824] changed <- common[...future.oldEnvVars[common] != [12:36:12.824] envs[common]] [12:36:12.824] NAMES <- toupper(changed) [12:36:12.824] args <- list() [12:36:12.824] for (kk in seq_along(NAMES)) { [12:36:12.824] name <- changed[[kk]] [12:36:12.824] NAME <- NAMES[[kk]] [12:36:12.824] if (name != NAME && is.element(NAME, old_names)) [12:36:12.824] next [12:36:12.824] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:12.824] } [12:36:12.824] NAMES <- toupper(added) [12:36:12.824] for (kk in seq_along(NAMES)) { [12:36:12.824] name <- added[[kk]] [12:36:12.824] NAME <- NAMES[[kk]] [12:36:12.824] if (name != NAME && is.element(NAME, old_names)) [12:36:12.824] next [12:36:12.824] args[[name]] <- "" [12:36:12.824] } [12:36:12.824] NAMES <- toupper(removed) [12:36:12.824] for (kk in seq_along(NAMES)) { [12:36:12.824] name <- removed[[kk]] [12:36:12.824] NAME <- NAMES[[kk]] [12:36:12.824] if (name != NAME && is.element(NAME, old_names)) [12:36:12.824] next [12:36:12.824] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:12.824] } [12:36:12.824] if (length(args) > 0) [12:36:12.824] base::do.call(base::Sys.setenv, args = args) [12:36:12.824] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [12:36:12.824] } [12:36:12.824] else { [12:36:12.824] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [12:36:12.824] } [12:36:12.824] { [12:36:12.824] if (base::length(...future.futureOptionsAdded) > [12:36:12.824] 0L) { [12:36:12.824] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [12:36:12.824] base::names(opts) <- ...future.futureOptionsAdded [12:36:12.824] base::options(opts) [12:36:12.824] } [12:36:12.824] { [12:36:12.824] NULL [12:36:12.824] options(future.plan = NULL) [12:36:12.824] if (is.na(NA_character_)) [12:36:12.824] Sys.unsetenv("R_FUTURE_PLAN") [12:36:12.824] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [12:36:12.824] future::plan(...future.strategy.old, .cleanup = FALSE, [12:36:12.824] .init = FALSE) [12:36:12.824] } [12:36:12.824] } [12:36:12.824] } [12:36:12.824] }) [12:36:12.824] if (TRUE) { [12:36:12.824] base::sink(type = "output", split = FALSE) [12:36:12.824] if (TRUE) { [12:36:12.824] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [12:36:12.824] } [12:36:12.824] else { [12:36:12.824] ...future.result["stdout"] <- base::list(NULL) [12:36:12.824] } [12:36:12.824] base::close(...future.stdout) [12:36:12.824] ...future.stdout <- NULL [12:36:12.824] } [12:36:12.824] ...future.result$conditions <- ...future.conditions [12:36:12.824] ...future.result$finished <- base::Sys.time() [12:36:12.824] ...future.result [12:36:12.824] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in 'tests/globals,manual.R' failed. Complete output: > source("incl/start.R") Loading required package: future [12:36:13.377] plan(): Setting new future strategy stack: [12:36:13.378] List of future strategies: [12:36:13.378] 1. mirai_multisession: [12:36:13.378] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [12:36:13.378] - tweaked: FALSE [12:36:13.378] - call: future::plan(future.mirai::mirai_multisession) [12:36:13.395] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [12:36:13.395] < mirai [$data] > [12:36:13.403] getGlobalsAndPackages() ... [12:36:13.403] Not searching for globals [12:36:13.404] - globals: [0] <none> [12:36:13.404] getGlobalsAndPackages() ... DONE [12:36:13.405] getGlobalsAndPackages() ... [12:36:13.405] [12:36:13.405] - globals: [0] <none> [12:36:13.405] getGlobalsAndPackages() ... DONE [12:36:13.771] Packages needed by the future expression (n = 0): <none> [12:36:13.772] Packages needed by future strategies (n = 0): <none> [12:36:13.773] { [12:36:13.773] { [12:36:13.773] { [12:36:13.773] ...future.startTime <- base::Sys.time() [12:36:13.773] { [12:36:13.773] { [12:36:13.773] { [12:36:13.773] base::local({ [12:36:13.773] has_future <- base::requireNamespace("future", [12:36:13.773] quietly = TRUE) [12:36:13.773] if (has_future) { [12:36:13.773] ns <- base::getNamespace("future") [12:36:13.773] version <- ns[[".package"]][["version"]] [12:36:13.773] if (is.null(version)) [12:36:13.773] version <- utils::packageVersion("future") [12:36:13.773] } [12:36:13.773] else { [12:36:13.773] version <- NULL [12:36:13.773] } [12:36:13.773] if (!has_future || version < "1.8.0") { [12:36:13.773] info <- base::c(r_version = base::gsub("R version ", [12:36:13.773] "", base::R.version$version.string), [12:36:13.773] platform = base::sprintf("%s (%s-bit)", [12:36:13.773] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [12:36:13.773] os = base::paste(base::Sys.info()[base::c("sysname", [12:36:13.773] "release", "version")], collapse = " "), [12:36:13.773] hostname = base::Sys.info()[["nodename"]]) [12:36:13.773] info <- base::sprintf("%s: %s", base::names(info), [12:36:13.773] info) [12:36:13.773] info <- base::paste(info, collapse = "; ") [12:36:13.773] if (!has_future) { [12:36:13.773] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [12:36:13.773] info) [12:36:13.773] } [12:36:13.773] else { [12:36:13.773] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [12:36:13.773] info, version) [12:36:13.773] } [12:36:13.773] base::stop(msg) [12:36:13.773] } [12:36:13.773] }) [12:36:13.773] } [12:36:13.773] ...future.strategy.old <- future::plan("list") [12:36:13.773] options(future.plan = NULL) [12:36:13.773] Sys.unsetenv("R_FUTURE_PLAN") [12:36:13.773] future::plan("default", .cleanup = FALSE, .init = FALSE) [12:36:13.773] } [12:36:13.773] ...future.workdir <- getwd() [12:36:13.773] } [12:36:13.773] ...future.oldOptions <- base::as.list(base::.Options) [12:36:13.773] ...future.oldEnvVars <- base::Sys.getenv() [12:36:13.773] } [12:36:13.773] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [12:36:13.773] future.globals.maxSize = NULL, future.globals.method = NULL, [12:36:13.773] future.globals.onMissing = NULL, future.globals.onReference = NULL, [12:36:13.773] future.globals.resolve = NULL, future.resolve.recursive = NULL, [12:36:13.773] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [12:36:13.773] future.stdout.windows.reencode = NULL, width = 80L) [12:36:13.773] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [12:36:13.773] base::names(...future.oldOptions)) [12:36:13.773] } [12:36:13.773] if (FALSE) { [12:36:13.773] } [12:36:13.773] else { [12:36:13.773] if (TRUE) { [12:36:13.773] ...future.stdout <- base::rawConnection(base::raw(0L), [12:36:13.773] open = "w") [12:36:13.773] } [12:36:13.773] else { [12:36:13.773] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [12:36:13.773] windows = "NUL", "/dev/null"), open = "w") [12:36:13.773] } [12:36:13.773] base::sink(...future.stdout, type = "output", split = FALSE) [12:36:13.773] base::on.exit(if (!base::is.null(...future.stdout)) { [12:36:13.773] base::sink(type = "output", split = FALSE) [12:36:13.773] base::close(...future.stdout) [12:36:13.773] }, add = TRUE) [12:36:13.773] } [12:36:13.773] ...future.frame <- base::sys.nframe() [12:36:13.773] ...future.conditions <- base::list() [12:36:13.773] ...future.rng <- base::globalenv()$.Random.seed [12:36:13.773] if (FALSE) { [12:36:13.773] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [12:36:13.773] "...future.value", "...future.globalenv.names", ".Random.seed") [12:36:13.773] } [12:36:13.773] ...future.result <- base::tryCatch({ [12:36:13.773] base::withCallingHandlers({ [12:36:13.773] ...future.value <- base::withVisible(base::local(NA)) [12:36:13.773] future::FutureResult(value = ...future.value$value, [12:36:13.773] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [12:36:13.773] ...future.rng), globalenv = if (FALSE) [12:36:13.773] list(added = base::setdiff(base::names(base::.GlobalEnv), [12:36:13.773] ...future.globalenv.names)) [12:36:13.773] else NULL, started = ...future.startTime, version = "1.8") [12:36:13.773] }, condition = base::local({ [12:36:13.773] c <- base::c [12:36:13.773] inherits <- base::inherits [12:36:13.773] invokeRestart <- base::invokeRestart [12:36:13.773] length <- base::length [12:36:13.773] list <- base::list [12:36:13.773] seq.int <- base::seq.int [12:36:13.773] signalCondition <- base::signalCondition [12:36:13.773] sys.calls <- base::sys.calls [12:36:13.773] `[[` <- base::`[[` [12:36:13.773] `+` <- base::`+` [12:36:13.773] `<<-` <- base::`<<-` [12:36:13.773] sysCalls <- function(calls = sys.calls(), from = 1L) { [12:36:13.773] calls[seq.int(from = from + 12L, to = length(calls) - [12:36:13.773] 3L)] [12:36:13.773] } [12:36:13.773] function(cond) { [12:36:13.773] is_error <- inherits(cond, "error") [12:36:13.773] ignore <- !is_error && !is.null(NULL) && inherits(cond, [12:36:13.773] NULL) [12:36:13.773] if (is_error) { [12:36:13.773] sessionInformation <- function() { [12:36:13.773] list(r = base::R.Version(), locale = base::Sys.getlocale(), [12:36:13.773] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [12:36:13.773] search = base::search(), system = base::Sys.info()) [12:36:13.773] } [12:36:13.773] ...future.conditions[[length(...future.conditions) + [12:36:13.773] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [12:36:13.773] cond$call), session = sessionInformation(), [12:36:13.773] timestamp = base::Sys.time(), signaled = 0L) [12:36:13.773] signalCondition(cond) [12:36:13.773] } [12:36:13.773] else if (!ignore && TRUE && inherits(cond, "condition")) { [12:36:13.773] signal <- FALSE && inherits(cond, character(0)) [12:36:13.773] ...future.conditions[[length(...future.conditions) + [12:36:13.773] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [12:36:13.773] if (FALSE && !signal) { [12:36:13.773] muffleCondition <- function (cond, pattern = "^muffle") [12:36:13.773] { [12:36:13.773] inherits <- base::inherits [12:36:13.773] invokeRestart <- base::invokeRestart [12:36:13.773] is.null <- base::is.null [12:36:13.773] muffled <- FALSE [12:36:13.773] if (inherits(cond, "message")) { [12:36:13.773] muffled <- grepl(pattern, "muffleMessage") [12:36:13.773] if (muffled) [12:36:13.773] invokeRestart("muffleMessage") [12:36:13.773] } [12:36:13.773] else if (inherits(cond, "warning")) { [12:36:13.773] muffled <- grepl(pattern, "muffleWarning") [12:36:13.773] if (muffled) [12:36:13.773] invokeRestart("muffleWarning") [12:36:13.773] } [12:36:13.773] else if (inherits(cond, "condition")) { [12:36:13.773] if (!is.null(pattern)) { [12:36:13.773] computeRestarts <- base::computeRestarts [12:36:13.773] grepl <- base::grepl [12:36:13.773] restarts <- computeRestarts(cond) [12:36:13.773] for (restart in restarts) { [12:36:13.773] name <- restart$name [12:36:13.773] if (is.null(name)) [12:36:13.773] next [12:36:13.773] if (!grepl(pattern, name)) [12:36:13.773] next [12:36:13.773] invokeRestart(restart) [12:36:13.773] muffled <- TRUE [12:36:13.773] break [12:36:13.773] } [12:36:13.773] } [12:36:13.773] } [12:36:13.773] invisible(muffled) [12:36:13.773] } [12:36:13.773] muffleCondition(cond, pattern = "^muffle") [12:36:13.773] } [12:36:13.773] } [12:36:13.773] else { [12:36:13.773] if (TRUE) { [12:36:13.773] muffleCondition <- function (cond, pattern = "^muffle") [12:36:13.773] { [12:36:13.773] inherits <- base::inherits [12:36:13.773] invokeRestart <- base::invokeRestart [12:36:13.773] is.null <- base::is.null [12:36:13.773] muffled <- FALSE [12:36:13.773] if (inherits(cond, "message")) { [12:36:13.773] muffled <- grepl(pattern, "muffleMessage") [12:36:13.773] if (muffled) [12:36:13.773] invokeRestart("muffleMessage") [12:36:13.773] } [12:36:13.773] else if (inherits(cond, "warning")) { [12:36:13.773] muffled <- grepl(pattern, "muffleWarning") [12:36:13.773] if (muffled) [12:36:13.773] invokeRestart("muffleWarning") [12:36:13.773] } [12:36:13.773] else if (inherits(cond, "condition")) { [12:36:13.773] if (!is.null(pattern)) { [12:36:13.773] computeRestarts <- base::computeRestarts [12:36:13.773] grepl <- base::grepl [12:36:13.773] restarts <- computeRestarts(cond) [12:36:13.773] for (restart in restarts) { [12:36:13.773] name <- restart$name [12:36:13.773] if (is.null(name)) [12:36:13.773] next [12:36:13.773] if (!grepl(pattern, name)) [12:36:13.773] next [12:36:13.773] invokeRestart(restart) [12:36:13.773] muffled <- TRUE [12:36:13.773] break [12:36:13.773] } [12:36:13.773] } [12:36:13.773] } [12:36:13.773] invisible(muffled) [12:36:13.773] } [12:36:13.773] muffleCondition(cond, pattern = "^muffle") [12:36:13.773] } [12:36:13.773] } [12:36:13.773] } [12:36:13.773] })) [12:36:13.773] }, error = function(ex) { [12:36:13.773] base::structure(base::list(value = NULL, visible = NULL, [12:36:13.773] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [12:36:13.773] ...future.rng), started = ...future.startTime, [12:36:13.773] finished = Sys.time(), session_uuid = NA_character_, [12:36:13.773] version = "1.8"), class = "FutureResult") [12:36:13.773] }, finally = { [12:36:13.773] if (!identical(...future.workdir, getwd())) [12:36:13.773] setwd(...future.workdir) [12:36:13.773] { [12:36:13.773] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [12:36:13.773] ...future.oldOptions$nwarnings <- NULL [12:36:13.773] } [12:36:13.773] base::options(...future.oldOptions) [12:36:13.773] if (.Platform$OS.type == "windows") { [12:36:13.773] old_names <- names(...future.oldEnvVars) [12:36:13.773] envs <- base::Sys.getenv() [12:36:13.773] names <- names(envs) [12:36:13.773] common <- intersect(names, old_names) [12:36:13.773] added <- setdiff(names, old_names) [12:36:13.773] removed <- setdiff(old_names, names) [12:36:13.773] changed <- common[...future.oldEnvVars[common] != [12:36:13.773] envs[common]] [12:36:13.773] NAMES <- toupper(changed) [12:36:13.773] args <- list() [12:36:13.773] for (kk in seq_along(NAMES)) { [12:36:13.773] name <- changed[[kk]] [12:36:13.773] NAME <- NAMES[[kk]] [12:36:13.773] if (name != NAME && is.element(NAME, old_names)) [12:36:13.773] next [12:36:13.773] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:13.773] } [12:36:13.773] NAMES <- toupper(added) [12:36:13.773] for (kk in seq_along(NAMES)) { [12:36:13.773] name <- added[[kk]] [12:36:13.773] NAME <- NAMES[[kk]] [12:36:13.773] if (name != NAME && is.element(NAME, old_names)) [12:36:13.773] next [12:36:13.773] args[[name]] <- "" [12:36:13.773] } [12:36:13.773] NAMES <- toupper(removed) [12:36:13.773] for (kk in seq_along(NAMES)) { [12:36:13.773] name <- removed[[kk]] [12:36:13.773] NAME <- NAMES[[kk]] [12:36:13.773] if (name != NAME && is.element(NAME, old_names)) [12:36:13.773] next [12:36:13.773] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:13.773] } [12:36:13.773] if (length(args) > 0) [12:36:13.773] base::do.call(base::Sys.setenv, args = args) [12:36:13.773] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [12:36:13.773] } [12:36:13.773] else { [12:36:13.773] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [12:36:13.773] } [12:36:13.773] { [12:36:13.773] if (base::length(...future.futureOptionsAdded) > [12:36:13.773] 0L) { [12:36:13.773] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [12:36:13.773] base::names(opts) <- ...future.futureOptionsAdded [12:36:13.773] base::options(opts) [12:36:13.773] } [12:36:13.773] { [12:36:13.773] NULL [12:36:13.773] options(future.plan = NULL) [12:36:13.773] if (is.na(NA_character_)) [12:36:13.773] Sys.unsetenv("R_FUTURE_PLAN") [12:36:13.773] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [12:36:13.773] future::plan(...future.strategy.old, .cleanup = FALSE, [12:36:13.773] .init = FALSE) [12:36:13.773] } [12:36:13.773] } [12:36:13.773] } [12:36:13.773] }) [12:36:13.773] if (TRUE) { [12:36:13.773] base::sink(type = "output", split = FALSE) [12:36:13.773] if (TRUE) { [12:36:13.773] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [12:36:13.773] } [12:36:13.773] else { [12:36:13.773] ...future.result["stdout"] <- base::list(NULL) [12:36:13.773] } [12:36:13.773] base::close(...future.stdout) [12:36:13.773] ...future.stdout <- NULL [12:36:13.773] } [12:36:13.773] ...future.result$conditions <- ...future.conditions [12:36:13.773] ...future.result$finished <- base::Sys.time() [12:36:13.773] ...future.result [12:36:13.773] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in 'tests/globals,nested.R' failed. Complete output: > ## This requires mirai (>= 0.13.2) > if (packageVersion("mirai") >= "0.13.2") { + library(future.mirai) + + mirai::daemons(1, dispatcher = FALSE) + plan(mirai_cluster) + + g <- function() 42 + h <- function() g() + + f <- future(h()) + v <- value(f) + print(v) + stopifnot(v == h()) + + plan(sequential) + mirai::daemons(0) ## Reset any daemons running + gc() + + } Loading required package: future Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: plan ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in 'tests/globals,subassignment.R' failed. Complete output: > source("incl/start.R") Loading required package: future [12:36:15.067] plan(): Setting new future strategy stack: [12:36:15.068] List of future strategies: [12:36:15.068] 1. mirai_multisession: [12:36:15.068] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [12:36:15.068] - tweaked: FALSE [12:36:15.068] - call: future::plan(future.mirai::mirai_multisession) [12:36:15.089] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [12:36:15.089] < mirai [$data] > [12:36:15.097] getGlobalsAndPackages() ... [12:36:15.097] Not searching for globals [12:36:15.098] - globals: [0] <none> [12:36:15.098] getGlobalsAndPackages() ... DONE [12:36:15.099] getGlobalsAndPackages() ... [12:36:15.099] [12:36:15.100] - globals: [0] <none> [12:36:15.100] getGlobalsAndPackages() ... DONE [12:36:15.504] Packages needed by the future expression (n = 0): <none> [12:36:15.504] Packages needed by future strategies (n = 0): <none> [12:36:15.506] { [12:36:15.506] { [12:36:15.506] { [12:36:15.506] ...future.startTime <- base::Sys.time() [12:36:15.506] { [12:36:15.506] { [12:36:15.506] { [12:36:15.506] base::local({ [12:36:15.506] has_future <- base::requireNamespace("future", [12:36:15.506] quietly = TRUE) [12:36:15.506] if (has_future) { [12:36:15.506] ns <- base::getNamespace("future") [12:36:15.506] version <- ns[[".package"]][["version"]] [12:36:15.506] if (is.null(version)) [12:36:15.506] version <- utils::packageVersion("future") [12:36:15.506] } [12:36:15.506] else { [12:36:15.506] version <- NULL [12:36:15.506] } [12:36:15.506] if (!has_future || version < "1.8.0") { [12:36:15.506] info <- base::c(r_version = base::gsub("R version ", [12:36:15.506] "", base::R.version$version.string), [12:36:15.506] platform = base::sprintf("%s (%s-bit)", [12:36:15.506] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [12:36:15.506] os = base::paste(base::Sys.info()[base::c("sysname", [12:36:15.506] "release", "version")], collapse = " "), [12:36:15.506] hostname = base::Sys.info()[["nodename"]]) [12:36:15.506] info <- base::sprintf("%s: %s", base::names(info), [12:36:15.506] info) [12:36:15.506] info <- base::paste(info, collapse = "; ") [12:36:15.506] if (!has_future) { [12:36:15.506] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [12:36:15.506] info) [12:36:15.506] } [12:36:15.506] else { [12:36:15.506] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [12:36:15.506] info, version) [12:36:15.506] } [12:36:15.506] base::stop(msg) [12:36:15.506] } [12:36:15.506] }) [12:36:15.506] } [12:36:15.506] ...future.strategy.old <- future::plan("list") [12:36:15.506] options(future.plan = NULL) [12:36:15.506] Sys.unsetenv("R_FUTURE_PLAN") [12:36:15.506] future::plan("default", .cleanup = FALSE, .init = FALSE) [12:36:15.506] } [12:36:15.506] ...future.workdir <- getwd() [12:36:15.506] } [12:36:15.506] ...future.oldOptions <- base::as.list(base::.Options) [12:36:15.506] ...future.oldEnvVars <- base::Sys.getenv() [12:36:15.506] } [12:36:15.506] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [12:36:15.506] future.globals.maxSize = NULL, future.globals.method = NULL, [12:36:15.506] future.globals.onMissing = NULL, future.globals.onReference = NULL, [12:36:15.506] future.globals.resolve = NULL, future.resolve.recursive = NULL, [12:36:15.506] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [12:36:15.506] future.stdout.windows.reencode = NULL, width = 80L) [12:36:15.506] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [12:36:15.506] base::names(...future.oldOptions)) [12:36:15.506] } [12:36:15.506] if (FALSE) { [12:36:15.506] } [12:36:15.506] else { [12:36:15.506] if (TRUE) { [12:36:15.506] ...future.stdout <- base::rawConnection(base::raw(0L), [12:36:15.506] open = "w") [12:36:15.506] } [12:36:15.506] else { [12:36:15.506] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [12:36:15.506] windows = "NUL", "/dev/null"), open = "w") [12:36:15.506] } [12:36:15.506] base::sink(...future.stdout, type = "output", split = FALSE) [12:36:15.506] base::on.exit(if (!base::is.null(...future.stdout)) { [12:36:15.506] base::sink(type = "output", split = FALSE) [12:36:15.506] base::close(...future.stdout) [12:36:15.506] }, add = TRUE) [12:36:15.506] } [12:36:15.506] ...future.frame <- base::sys.nframe() [12:36:15.506] ...future.conditions <- base::list() [12:36:15.506] ...future.rng <- base::globalenv()$.Random.seed [12:36:15.506] if (FALSE) { [12:36:15.506] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [12:36:15.506] "...future.value", "...future.globalenv.names", ".Random.seed") [12:36:15.506] } [12:36:15.506] ...future.result <- base::tryCatch({ [12:36:15.506] base::withCallingHandlers({ [12:36:15.506] ...future.value <- base::withVisible(base::local(NA)) [12:36:15.506] future::FutureResult(value = ...future.value$value, [12:36:15.506] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [12:36:15.506] ...future.rng), globalenv = if (FALSE) [12:36:15.506] list(added = base::setdiff(base::names(base::.GlobalEnv), [12:36:15.506] ...future.globalenv.names)) [12:36:15.506] else NULL, started = ...future.startTime, version = "1.8") [12:36:15.506] }, condition = base::local({ [12:36:15.506] c <- base::c [12:36:15.506] inherits <- base::inherits [12:36:15.506] invokeRestart <- base::invokeRestart [12:36:15.506] length <- base::length [12:36:15.506] list <- base::list [12:36:15.506] seq.int <- base::seq.int [12:36:15.506] signalCondition <- base::signalCondition [12:36:15.506] sys.calls <- base::sys.calls [12:36:15.506] `[[` <- base::`[[` [12:36:15.506] `+` <- base::`+` [12:36:15.506] `<<-` <- base::`<<-` [12:36:15.506] sysCalls <- function(calls = sys.calls(), from = 1L) { [12:36:15.506] calls[seq.int(from = from + 12L, to = length(calls) - [12:36:15.506] 3L)] [12:36:15.506] } [12:36:15.506] function(cond) { [12:36:15.506] is_error <- inherits(cond, "error") [12:36:15.506] ignore <- !is_error && !is.null(NULL) && inherits(cond, [12:36:15.506] NULL) [12:36:15.506] if (is_error) { [12:36:15.506] sessionInformation <- function() { [12:36:15.506] list(r = base::R.Version(), locale = base::Sys.getlocale(), [12:36:15.506] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [12:36:15.506] search = base::search(), system = base::Sys.info()) [12:36:15.506] } [12:36:15.506] ...future.conditions[[length(...future.conditions) + [12:36:15.506] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [12:36:15.506] cond$call), session = sessionInformation(), [12:36:15.506] timestamp = base::Sys.time(), signaled = 0L) [12:36:15.506] signalCondition(cond) [12:36:15.506] } [12:36:15.506] else if (!ignore && TRUE && inherits(cond, "condition")) { [12:36:15.506] signal <- FALSE && inherits(cond, character(0)) [12:36:15.506] ...future.conditions[[length(...future.conditions) + [12:36:15.506] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [12:36:15.506] if (FALSE && !signal) { [12:36:15.506] muffleCondition <- function (cond, pattern = "^muffle") [12:36:15.506] { [12:36:15.506] inherits <- base::inherits [12:36:15.506] invokeRestart <- base::invokeRestart [12:36:15.506] is.null <- base::is.null [12:36:15.506] muffled <- FALSE [12:36:15.506] if (inherits(cond, "message")) { [12:36:15.506] muffled <- grepl(pattern, "muffleMessage") [12:36:15.506] if (muffled) [12:36:15.506] invokeRestart("muffleMessage") [12:36:15.506] } [12:36:15.506] else if (inherits(cond, "warning")) { [12:36:15.506] muffled <- grepl(pattern, "muffleWarning") [12:36:15.506] if (muffled) [12:36:15.506] invokeRestart("muffleWarning") [12:36:15.506] } [12:36:15.506] else if (inherits(cond, "condition")) { [12:36:15.506] if (!is.null(pattern)) { [12:36:15.506] computeRestarts <- base::computeRestarts [12:36:15.506] grepl <- base::grepl [12:36:15.506] restarts <- computeRestarts(cond) [12:36:15.506] for (restart in restarts) { [12:36:15.506] name <- restart$name [12:36:15.506] if (is.null(name)) [12:36:15.506] next [12:36:15.506] if (!grepl(pattern, name)) [12:36:15.506] next [12:36:15.506] invokeRestart(restart) [12:36:15.506] muffled <- TRUE [12:36:15.506] break [12:36:15.506] } [12:36:15.506] } [12:36:15.506] } [12:36:15.506] invisible(muffled) [12:36:15.506] } [12:36:15.506] muffleCondition(cond, pattern = "^muffle") [12:36:15.506] } [12:36:15.506] } [12:36:15.506] else { [12:36:15.506] if (TRUE) { [12:36:15.506] muffleCondition <- function (cond, pattern = "^muffle") [12:36:15.506] { [12:36:15.506] inherits <- base::inherits [12:36:15.506] invokeRestart <- base::invokeRestart [12:36:15.506] is.null <- base::is.null [12:36:15.506] muffled <- FALSE [12:36:15.506] if (inherits(cond, "message")) { [12:36:15.506] muffled <- grepl(pattern, "muffleMessage") [12:36:15.506] if (muffled) [12:36:15.506] invokeRestart("muffleMessage") [12:36:15.506] } [12:36:15.506] else if (inherits(cond, "warning")) { [12:36:15.506] muffled <- grepl(pattern, "muffleWarning") [12:36:15.506] if (muffled) [12:36:15.506] invokeRestart("muffleWarning") [12:36:15.506] } [12:36:15.506] else if (inherits(cond, "condition")) { [12:36:15.506] if (!is.null(pattern)) { [12:36:15.506] computeRestarts <- base::computeRestarts [12:36:15.506] grepl <- base::grepl [12:36:15.506] restarts <- computeRestarts(cond) [12:36:15.506] for (restart in restarts) { [12:36:15.506] name <- restart$name [12:36:15.506] if (is.null(name)) [12:36:15.506] next [12:36:15.506] if (!grepl(pattern, name)) [12:36:15.506] next [12:36:15.506] invokeRestart(restart) [12:36:15.506] muffled <- TRUE [12:36:15.506] break [12:36:15.506] } [12:36:15.506] } [12:36:15.506] } [12:36:15.506] invisible(muffled) [12:36:15.506] } [12:36:15.506] muffleCondition(cond, pattern = "^muffle") [12:36:15.506] } [12:36:15.506] } [12:36:15.506] } [12:36:15.506] })) [12:36:15.506] }, error = function(ex) { [12:36:15.506] base::structure(base::list(value = NULL, visible = NULL, [12:36:15.506] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [12:36:15.506] ...future.rng), started = ...future.startTime, [12:36:15.506] finished = Sys.time(), session_uuid = NA_character_, [12:36:15.506] version = "1.8"), class = "FutureResult") [12:36:15.506] }, finally = { [12:36:15.506] if (!identical(...future.workdir, getwd())) [12:36:15.506] setwd(...future.workdir) [12:36:15.506] { [12:36:15.506] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [12:36:15.506] ...future.oldOptions$nwarnings <- NULL [12:36:15.506] } [12:36:15.506] base::options(...future.oldOptions) [12:36:15.506] if (.Platform$OS.type == "windows") { [12:36:15.506] old_names <- names(...future.oldEnvVars) [12:36:15.506] envs <- base::Sys.getenv() [12:36:15.506] names <- names(envs) [12:36:15.506] common <- intersect(names, old_names) [12:36:15.506] added <- setdiff(names, old_names) [12:36:15.506] removed <- setdiff(old_names, names) [12:36:15.506] changed <- common[...future.oldEnvVars[common] != [12:36:15.506] envs[common]] [12:36:15.506] NAMES <- toupper(changed) [12:36:15.506] args <- list() [12:36:15.506] for (kk in seq_along(NAMES)) { [12:36:15.506] name <- changed[[kk]] [12:36:15.506] NAME <- NAMES[[kk]] [12:36:15.506] if (name != NAME && is.element(NAME, old_names)) [12:36:15.506] next [12:36:15.506] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:15.506] } [12:36:15.506] NAMES <- toupper(added) [12:36:15.506] for (kk in seq_along(NAMES)) { [12:36:15.506] name <- added[[kk]] [12:36:15.506] NAME <- NAMES[[kk]] [12:36:15.506] if (name != NAME && is.element(NAME, old_names)) [12:36:15.506] next [12:36:15.506] args[[name]] <- "" [12:36:15.506] } [12:36:15.506] NAMES <- toupper(removed) [12:36:15.506] for (kk in seq_along(NAMES)) { [12:36:15.506] name <- removed[[kk]] [12:36:15.506] NAME <- NAMES[[kk]] [12:36:15.506] if (name != NAME && is.element(NAME, old_names)) [12:36:15.506] next [12:36:15.506] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:15.506] } [12:36:15.506] if (length(args) > 0) [12:36:15.506] base::do.call(base::Sys.setenv, args = args) [12:36:15.506] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [12:36:15.506] } [12:36:15.506] else { [12:36:15.506] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [12:36:15.506] } [12:36:15.506] { [12:36:15.506] if (base::length(...future.futureOptionsAdded) > [12:36:15.506] 0L) { [12:36:15.506] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [12:36:15.506] base::names(opts) <- ...future.futureOptionsAdded [12:36:15.506] base::options(opts) [12:36:15.506] } [12:36:15.506] { [12:36:15.506] NULL [12:36:15.506] options(future.plan = NULL) [12:36:15.506] if (is.na(NA_character_)) [12:36:15.506] Sys.unsetenv("R_FUTURE_PLAN") [12:36:15.506] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [12:36:15.506] future::plan(...future.strategy.old, .cleanup = FALSE, [12:36:15.506] .init = FALSE) [12:36:15.506] } [12:36:15.506] } [12:36:15.506] } [12:36:15.506] }) [12:36:15.506] if (TRUE) { [12:36:15.506] base::sink(type = "output", split = FALSE) [12:36:15.506] if (TRUE) { [12:36:15.506] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [12:36:15.506] } [12:36:15.506] else { [12:36:15.506] ...future.result["stdout"] <- base::list(NULL) [12:36:15.506] } [12:36:15.506] base::close(...future.stdout) [12:36:15.506] ...future.stdout <- NULL [12:36:15.506] } [12:36:15.506] ...future.result$conditions <- ...future.conditions [12:36:15.506] ...future.result$finished <- base::Sys.time() [12:36:15.506] ...future.result [12:36:15.506] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in 'tests/globals,tricky.R' failed. Complete output: > source("incl/start.R") Loading required package: future [12:36:16.059] plan(): Setting new future strategy stack: [12:36:16.061] List of future strategies: [12:36:16.061] 1. mirai_multisession: [12:36:16.061] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [12:36:16.061] - tweaked: FALSE [12:36:16.061] - call: future::plan(future.mirai::mirai_multisession) [12:36:16.077] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [12:36:16.077] < mirai [$data] > [12:36:16.085] getGlobalsAndPackages() ... [12:36:16.085] Not searching for globals [12:36:16.086] - globals: [0] <none> [12:36:16.086] getGlobalsAndPackages() ... DONE [12:36:16.086] getGlobalsAndPackages() ... [12:36:16.087] [12:36:16.087] - globals: [0] <none> [12:36:16.087] getGlobalsAndPackages() ... DONE [12:36:16.446] Packages needed by the future expression (n = 0): <none> [12:36:16.447] Packages needed by future strategies (n = 0): <none> [12:36:16.448] { [12:36:16.448] { [12:36:16.448] { [12:36:16.448] ...future.startTime <- base::Sys.time() [12:36:16.448] { [12:36:16.448] { [12:36:16.448] { [12:36:16.448] base::local({ [12:36:16.448] has_future <- base::requireNamespace("future", [12:36:16.448] quietly = TRUE) [12:36:16.448] if (has_future) { [12:36:16.448] ns <- base::getNamespace("future") [12:36:16.448] version <- ns[[".package"]][["version"]] [12:36:16.448] if (is.null(version)) [12:36:16.448] version <- utils::packageVersion("future") [12:36:16.448] } [12:36:16.448] else { [12:36:16.448] version <- NULL [12:36:16.448] } [12:36:16.448] if (!has_future || version < "1.8.0") { [12:36:16.448] info <- base::c(r_version = base::gsub("R version ", [12:36:16.448] "", base::R.version$version.string), [12:36:16.448] platform = base::sprintf("%s (%s-bit)", [12:36:16.448] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [12:36:16.448] os = base::paste(base::Sys.info()[base::c("sysname", [12:36:16.448] "release", "version")], collapse = " "), [12:36:16.448] hostname = base::Sys.info()[["nodename"]]) [12:36:16.448] info <- base::sprintf("%s: %s", base::names(info), [12:36:16.448] info) [12:36:16.448] info <- base::paste(info, collapse = "; ") [12:36:16.448] if (!has_future) { [12:36:16.448] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [12:36:16.448] info) [12:36:16.448] } [12:36:16.448] else { [12:36:16.448] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [12:36:16.448] info, version) [12:36:16.448] } [12:36:16.448] base::stop(msg) [12:36:16.448] } [12:36:16.448] }) [12:36:16.448] } [12:36:16.448] ...future.strategy.old <- future::plan("list") [12:36:16.448] options(future.plan = NULL) [12:36:16.448] Sys.unsetenv("R_FUTURE_PLAN") [12:36:16.448] future::plan("default", .cleanup = FALSE, .init = FALSE) [12:36:16.448] } [12:36:16.448] ...future.workdir <- getwd() [12:36:16.448] } [12:36:16.448] ...future.oldOptions <- base::as.list(base::.Options) [12:36:16.448] ...future.oldEnvVars <- base::Sys.getenv() [12:36:16.448] } [12:36:16.448] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [12:36:16.448] future.globals.maxSize = NULL, future.globals.method = NULL, [12:36:16.448] future.globals.onMissing = NULL, future.globals.onReference = NULL, [12:36:16.448] future.globals.resolve = NULL, future.resolve.recursive = NULL, [12:36:16.448] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [12:36:16.448] future.stdout.windows.reencode = NULL, width = 80L) [12:36:16.448] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [12:36:16.448] base::names(...future.oldOptions)) [12:36:16.448] } [12:36:16.448] if (FALSE) { [12:36:16.448] } [12:36:16.448] else { [12:36:16.448] if (TRUE) { [12:36:16.448] ...future.stdout <- base::rawConnection(base::raw(0L), [12:36:16.448] open = "w") [12:36:16.448] } [12:36:16.448] else { [12:36:16.448] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [12:36:16.448] windows = "NUL", "/dev/null"), open = "w") [12:36:16.448] } [12:36:16.448] base::sink(...future.stdout, type = "output", split = FALSE) [12:36:16.448] base::on.exit(if (!base::is.null(...future.stdout)) { [12:36:16.448] base::sink(type = "output", split = FALSE) [12:36:16.448] base::close(...future.stdout) [12:36:16.448] }, add = TRUE) [12:36:16.448] } [12:36:16.448] ...future.frame <- base::sys.nframe() [12:36:16.448] ...future.conditions <- base::list() [12:36:16.448] ...future.rng <- base::globalenv()$.Random.seed [12:36:16.448] if (FALSE) { [12:36:16.448] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [12:36:16.448] "...future.value", "...future.globalenv.names", ".Random.seed") [12:36:16.448] } [12:36:16.448] ...future.result <- base::tryCatch({ [12:36:16.448] base::withCallingHandlers({ [12:36:16.448] ...future.value <- base::withVisible(base::local(NA)) [12:36:16.448] future::FutureResult(value = ...future.value$value, [12:36:16.448] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [12:36:16.448] ...future.rng), globalenv = if (FALSE) [12:36:16.448] list(added = base::setdiff(base::names(base::.GlobalEnv), [12:36:16.448] ...future.globalenv.names)) [12:36:16.448] else NULL, started = ...future.startTime, version = "1.8") [12:36:16.448] }, condition = base::local({ [12:36:16.448] c <- base::c [12:36:16.448] inherits <- base::inherits [12:36:16.448] invokeRestart <- base::invokeRestart [12:36:16.448] length <- base::length [12:36:16.448] list <- base::list [12:36:16.448] seq.int <- base::seq.int [12:36:16.448] signalCondition <- base::signalCondition [12:36:16.448] sys.calls <- base::sys.calls [12:36:16.448] `[[` <- base::`[[` [12:36:16.448] `+` <- base::`+` [12:36:16.448] `<<-` <- base::`<<-` [12:36:16.448] sysCalls <- function(calls = sys.calls(), from = 1L) { [12:36:16.448] calls[seq.int(from = from + 12L, to = length(calls) - [12:36:16.448] 3L)] [12:36:16.448] } [12:36:16.448] function(cond) { [12:36:16.448] is_error <- inherits(cond, "error") [12:36:16.448] ignore <- !is_error && !is.null(NULL) && inherits(cond, [12:36:16.448] NULL) [12:36:16.448] if (is_error) { [12:36:16.448] sessionInformation <- function() { [12:36:16.448] list(r = base::R.Version(), locale = base::Sys.getlocale(), [12:36:16.448] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [12:36:16.448] search = base::search(), system = base::Sys.info()) [12:36:16.448] } [12:36:16.448] ...future.conditions[[length(...future.conditions) + [12:36:16.448] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [12:36:16.448] cond$call), session = sessionInformation(), [12:36:16.448] timestamp = base::Sys.time(), signaled = 0L) [12:36:16.448] signalCondition(cond) [12:36:16.448] } [12:36:16.448] else if (!ignore && TRUE && inherits(cond, "condition")) { [12:36:16.448] signal <- FALSE && inherits(cond, character(0)) [12:36:16.448] ...future.conditions[[length(...future.conditions) + [12:36:16.448] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [12:36:16.448] if (FALSE && !signal) { [12:36:16.448] muffleCondition <- function (cond, pattern = "^muffle") [12:36:16.448] { [12:36:16.448] inherits <- base::inherits [12:36:16.448] invokeRestart <- base::invokeRestart [12:36:16.448] is.null <- base::is.null [12:36:16.448] muffled <- FALSE [12:36:16.448] if (inherits(cond, "message")) { [12:36:16.448] muffled <- grepl(pattern, "muffleMessage") [12:36:16.448] if (muffled) [12:36:16.448] invokeRestart("muffleMessage") [12:36:16.448] } [12:36:16.448] else if (inherits(cond, "warning")) { [12:36:16.448] muffled <- grepl(pattern, "muffleWarning") [12:36:16.448] if (muffled) [12:36:16.448] invokeRestart("muffleWarning") [12:36:16.448] } [12:36:16.448] else if (inherits(cond, "condition")) { [12:36:16.448] if (!is.null(pattern)) { [12:36:16.448] computeRestarts <- base::computeRestarts [12:36:16.448] grepl <- base::grepl [12:36:16.448] restarts <- computeRestarts(cond) [12:36:16.448] for (restart in restarts) { [12:36:16.448] name <- restart$name [12:36:16.448] if (is.null(name)) [12:36:16.448] next [12:36:16.448] if (!grepl(pattern, name)) [12:36:16.448] next [12:36:16.448] invokeRestart(restart) [12:36:16.448] muffled <- TRUE [12:36:16.448] break [12:36:16.448] } [12:36:16.448] } [12:36:16.448] } [12:36:16.448] invisible(muffled) [12:36:16.448] } [12:36:16.448] muffleCondition(cond, pattern = "^muffle") [12:36:16.448] } [12:36:16.448] } [12:36:16.448] else { [12:36:16.448] if (TRUE) { [12:36:16.448] muffleCondition <- function (cond, pattern = "^muffle") [12:36:16.448] { [12:36:16.448] inherits <- base::inherits [12:36:16.448] invokeRestart <- base::invokeRestart [12:36:16.448] is.null <- base::is.null [12:36:16.448] muffled <- FALSE [12:36:16.448] if (inherits(cond, "message")) { [12:36:16.448] muffled <- grepl(pattern, "muffleMessage") [12:36:16.448] if (muffled) [12:36:16.448] invokeRestart("muffleMessage") [12:36:16.448] } [12:36:16.448] else if (inherits(cond, "warning")) { [12:36:16.448] muffled <- grepl(pattern, "muffleWarning") [12:36:16.448] if (muffled) [12:36:16.448] invokeRestart("muffleWarning") [12:36:16.448] } [12:36:16.448] else if (inherits(cond, "condition")) { [12:36:16.448] if (!is.null(pattern)) { [12:36:16.448] computeRestarts <- base::computeRestarts [12:36:16.448] grepl <- base::grepl [12:36:16.448] restarts <- computeRestarts(cond) [12:36:16.448] for (restart in restarts) { [12:36:16.448] name <- restart$name [12:36:16.448] if (is.null(name)) [12:36:16.448] next [12:36:16.448] if (!grepl(pattern, name)) [12:36:16.448] next [12:36:16.448] invokeRestart(restart) [12:36:16.448] muffled <- TRUE [12:36:16.448] break [12:36:16.448] } [12:36:16.448] } [12:36:16.448] } [12:36:16.448] invisible(muffled) [12:36:16.448] } [12:36:16.448] muffleCondition(cond, pattern = "^muffle") [12:36:16.448] } [12:36:16.448] } [12:36:16.448] } [12:36:16.448] })) [12:36:16.448] }, error = function(ex) { [12:36:16.448] base::structure(base::list(value = NULL, visible = NULL, [12:36:16.448] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [12:36:16.448] ...future.rng), started = ...future.startTime, [12:36:16.448] finished = Sys.time(), session_uuid = NA_character_, [12:36:16.448] version = "1.8"), class = "FutureResult") [12:36:16.448] }, finally = { [12:36:16.448] if (!identical(...future.workdir, getwd())) [12:36:16.448] setwd(...future.workdir) [12:36:16.448] { [12:36:16.448] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [12:36:16.448] ...future.oldOptions$nwarnings <- NULL [12:36:16.448] } [12:36:16.448] base::options(...future.oldOptions) [12:36:16.448] if (.Platform$OS.type == "windows") { [12:36:16.448] old_names <- names(...future.oldEnvVars) [12:36:16.448] envs <- base::Sys.getenv() [12:36:16.448] names <- names(envs) [12:36:16.448] common <- intersect(names, old_names) [12:36:16.448] added <- setdiff(names, old_names) [12:36:16.448] removed <- setdiff(old_names, names) [12:36:16.448] changed <- common[...future.oldEnvVars[common] != [12:36:16.448] envs[common]] [12:36:16.448] NAMES <- toupper(changed) [12:36:16.448] args <- list() [12:36:16.448] for (kk in seq_along(NAMES)) { [12:36:16.448] name <- changed[[kk]] [12:36:16.448] NAME <- NAMES[[kk]] [12:36:16.448] if (name != NAME && is.element(NAME, old_names)) [12:36:16.448] next [12:36:16.448] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:16.448] } [12:36:16.448] NAMES <- toupper(added) [12:36:16.448] for (kk in seq_along(NAMES)) { [12:36:16.448] name <- added[[kk]] [12:36:16.448] NAME <- NAMES[[kk]] [12:36:16.448] if (name != NAME && is.element(NAME, old_names)) [12:36:16.448] next [12:36:16.448] args[[name]] <- "" [12:36:16.448] } [12:36:16.448] NAMES <- toupper(removed) [12:36:16.448] for (kk in seq_along(NAMES)) { [12:36:16.448] name <- removed[[kk]] [12:36:16.448] NAME <- NAMES[[kk]] [12:36:16.448] if (name != NAME && is.element(NAME, old_names)) [12:36:16.448] next [12:36:16.448] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:16.448] } [12:36:16.448] if (length(args) > 0) [12:36:16.448] base::do.call(base::Sys.setenv, args = args) [12:36:16.448] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [12:36:16.448] } [12:36:16.448] else { [12:36:16.448] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [12:36:16.448] } [12:36:16.448] { [12:36:16.448] if (base::length(...future.futureOptionsAdded) > [12:36:16.448] 0L) { [12:36:16.448] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [12:36:16.448] base::names(opts) <- ...future.futureOptionsAdded [12:36:16.448] base::options(opts) [12:36:16.448] } [12:36:16.448] { [12:36:16.448] NULL [12:36:16.448] options(future.plan = NULL) [12:36:16.448] if (is.na(NA_character_)) [12:36:16.448] Sys.unsetenv("R_FUTURE_PLAN") [12:36:16.448] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [12:36:16.448] future::plan(...future.strategy.old, .cleanup = FALSE, [12:36:16.448] .init = FALSE) [12:36:16.448] } [12:36:16.448] } [12:36:16.448] } [12:36:16.448] }) [12:36:16.448] if (TRUE) { [12:36:16.448] base::sink(type = "output", split = FALSE) [12:36:16.448] if (TRUE) { [12:36:16.448] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [12:36:16.448] } [12:36:16.448] else { [12:36:16.448] ...future.result["stdout"] <- base::list(NULL) [12:36:16.448] } [12:36:16.448] base::close(...future.stdout) [12:36:16.448] ...future.stdout <- NULL [12:36:16.448] } [12:36:16.448] ...future.result$conditions <- ...future.conditions [12:36:16.448] ...future.result$finished <- base::Sys.time() [12:36:16.448] ...future.result [12:36:16.448] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in 'tests/mirai_cluster,worker-termination.R' failed. Complete output: > source("incl/start.R") Loading required package: future [12:36:16.963] plan(): Setting new future strategy stack: [12:36:16.965] List of future strategies: [12:36:16.965] 1. mirai_multisession: [12:36:16.965] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [12:36:16.965] - tweaked: FALSE [12:36:16.965] - call: future::plan(future.mirai::mirai_multisession) [12:36:16.986] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [12:36:16.987] < mirai [$data] > [12:36:16.995] getGlobalsAndPackages() ... [12:36:16.995] Not searching for globals [12:36:16.996] - globals: [0] <none> [12:36:16.996] getGlobalsAndPackages() ... DONE [12:36:16.997] getGlobalsAndPackages() ... [12:36:16.997] [12:36:16.997] - globals: [0] <none> [12:36:16.997] getGlobalsAndPackages() ... DONE [12:36:17.440] Packages needed by the future expression (n = 0): <none> [12:36:17.440] Packages needed by future strategies (n = 0): <none> [12:36:17.443] { [12:36:17.443] { [12:36:17.443] { [12:36:17.443] ...future.startTime <- base::Sys.time() [12:36:17.443] { [12:36:17.443] { [12:36:17.443] { [12:36:17.443] base::local({ [12:36:17.443] has_future <- base::requireNamespace("future", [12:36:17.443] quietly = TRUE) [12:36:17.443] if (has_future) { [12:36:17.443] ns <- base::getNamespace("future") [12:36:17.443] version <- ns[[".package"]][["version"]] [12:36:17.443] if (is.null(version)) [12:36:17.443] version <- utils::packageVersion("future") [12:36:17.443] } [12:36:17.443] else { [12:36:17.443] version <- NULL [12:36:17.443] } [12:36:17.443] if (!has_future || version < "1.8.0") { [12:36:17.443] info <- base::c(r_version = base::gsub("R version ", [12:36:17.443] "", base::R.version$version.string), [12:36:17.443] platform = base::sprintf("%s (%s-bit)", [12:36:17.443] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [12:36:17.443] os = base::paste(base::Sys.info()[base::c("sysname", [12:36:17.443] "release", "version")], collapse = " "), [12:36:17.443] hostname = base::Sys.info()[["nodename"]]) [12:36:17.443] info <- base::sprintf("%s: %s", base::names(info), [12:36:17.443] info) [12:36:17.443] info <- base::paste(info, collapse = "; ") [12:36:17.443] if (!has_future) { [12:36:17.443] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [12:36:17.443] info) [12:36:17.443] } [12:36:17.443] else { [12:36:17.443] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [12:36:17.443] info, version) [12:36:17.443] } [12:36:17.443] base::stop(msg) [12:36:17.443] } [12:36:17.443] }) [12:36:17.443] } [12:36:17.443] ...future.strategy.old <- future::plan("list") [12:36:17.443] options(future.plan = NULL) [12:36:17.443] Sys.unsetenv("R_FUTURE_PLAN") [12:36:17.443] future::plan("default", .cleanup = FALSE, .init = FALSE) [12:36:17.443] } [12:36:17.443] ...future.workdir <- getwd() [12:36:17.443] } [12:36:17.443] ...future.oldOptions <- base::as.list(base::.Options) [12:36:17.443] ...future.oldEnvVars <- base::Sys.getenv() [12:36:17.443] } [12:36:17.443] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [12:36:17.443] future.globals.maxSize = NULL, future.globals.method = NULL, [12:36:17.443] future.globals.onMissing = NULL, future.globals.onReference = NULL, [12:36:17.443] future.globals.resolve = NULL, future.resolve.recursive = NULL, [12:36:17.443] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [12:36:17.443] future.stdout.windows.reencode = NULL, width = 80L) [12:36:17.443] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [12:36:17.443] base::names(...future.oldOptions)) [12:36:17.443] } [12:36:17.443] if (FALSE) { [12:36:17.443] } [12:36:17.443] else { [12:36:17.443] if (TRUE) { [12:36:17.443] ...future.stdout <- base::rawConnection(base::raw(0L), [12:36:17.443] open = "w") [12:36:17.443] } [12:36:17.443] else { [12:36:17.443] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [12:36:17.443] windows = "NUL", "/dev/null"), open = "w") [12:36:17.443] } [12:36:17.443] base::sink(...future.stdout, type = "output", split = FALSE) [12:36:17.443] base::on.exit(if (!base::is.null(...future.stdout)) { [12:36:17.443] base::sink(type = "output", split = FALSE) [12:36:17.443] base::close(...future.stdout) [12:36:17.443] }, add = TRUE) [12:36:17.443] } [12:36:17.443] ...future.frame <- base::sys.nframe() [12:36:17.443] ...future.conditions <- base::list() [12:36:17.443] ...future.rng <- base::globalenv()$.Random.seed [12:36:17.443] if (FALSE) { [12:36:17.443] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [12:36:17.443] "...future.value", "...future.globalenv.names", ".Random.seed") [12:36:17.443] } [12:36:17.443] ...future.result <- base::tryCatch({ [12:36:17.443] base::withCallingHandlers({ [12:36:17.443] ...future.value <- base::withVisible(base::local(NA)) [12:36:17.443] future::FutureResult(value = ...future.value$value, [12:36:17.443] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [12:36:17.443] ...future.rng), globalenv = if (FALSE) [12:36:17.443] list(added = base::setdiff(base::names(base::.GlobalEnv), [12:36:17.443] ...future.globalenv.names)) [12:36:17.443] else NULL, started = ...future.startTime, version = "1.8") [12:36:17.443] }, condition = base::local({ [12:36:17.443] c <- base::c [12:36:17.443] inherits <- base::inherits [12:36:17.443] invokeRestart <- base::invokeRestart [12:36:17.443] length <- base::length [12:36:17.443] list <- base::list [12:36:17.443] seq.int <- base::seq.int [12:36:17.443] signalCondition <- base::signalCondition [12:36:17.443] sys.calls <- base::sys.calls [12:36:17.443] `[[` <- base::`[[` [12:36:17.443] `+` <- base::`+` [12:36:17.443] `<<-` <- base::`<<-` [12:36:17.443] sysCalls <- function(calls = sys.calls(), from = 1L) { [12:36:17.443] calls[seq.int(from = from + 12L, to = length(calls) - [12:36:17.443] 3L)] [12:36:17.443] } [12:36:17.443] function(cond) { [12:36:17.443] is_error <- inherits(cond, "error") [12:36:17.443] ignore <- !is_error && !is.null(NULL) && inherits(cond, [12:36:17.443] NULL) [12:36:17.443] if (is_error) { [12:36:17.443] sessionInformation <- function() { [12:36:17.443] list(r = base::R.Version(), locale = base::Sys.getlocale(), [12:36:17.443] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [12:36:17.443] search = base::search(), system = base::Sys.info()) [12:36:17.443] } [12:36:17.443] ...future.conditions[[length(...future.conditions) + [12:36:17.443] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [12:36:17.443] cond$call), session = sessionInformation(), [12:36:17.443] timestamp = base::Sys.time(), signaled = 0L) [12:36:17.443] signalCondition(cond) [12:36:17.443] } [12:36:17.443] else if (!ignore && TRUE && inherits(cond, "condition")) { [12:36:17.443] signal <- FALSE && inherits(cond, character(0)) [12:36:17.443] ...future.conditions[[length(...future.conditions) + [12:36:17.443] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [12:36:17.443] if (FALSE && !signal) { [12:36:17.443] muffleCondition <- function (cond, pattern = "^muffle") [12:36:17.443] { [12:36:17.443] inherits <- base::inherits [12:36:17.443] invokeRestart <- base::invokeRestart [12:36:17.443] is.null <- base::is.null [12:36:17.443] muffled <- FALSE [12:36:17.443] if (inherits(cond, "message")) { [12:36:17.443] muffled <- grepl(pattern, "muffleMessage") [12:36:17.443] if (muffled) [12:36:17.443] invokeRestart("muffleMessage") [12:36:17.443] } [12:36:17.443] else if (inherits(cond, "warning")) { [12:36:17.443] muffled <- grepl(pattern, "muffleWarning") [12:36:17.443] if (muffled) [12:36:17.443] invokeRestart("muffleWarning") [12:36:17.443] } [12:36:17.443] else if (inherits(cond, "condition")) { [12:36:17.443] if (!is.null(pattern)) { [12:36:17.443] computeRestarts <- base::computeRestarts [12:36:17.443] grepl <- base::grepl [12:36:17.443] restarts <- computeRestarts(cond) [12:36:17.443] for (restart in restarts) { [12:36:17.443] name <- restart$name [12:36:17.443] if (is.null(name)) [12:36:17.443] next [12:36:17.443] if (!grepl(pattern, name)) [12:36:17.443] next [12:36:17.443] invokeRestart(restart) [12:36:17.443] muffled <- TRUE [12:36:17.443] break [12:36:17.443] } [12:36:17.443] } [12:36:17.443] } [12:36:17.443] invisible(muffled) [12:36:17.443] } [12:36:17.443] muffleCondition(cond, pattern = "^muffle") [12:36:17.443] } [12:36:17.443] } [12:36:17.443] else { [12:36:17.443] if (TRUE) { [12:36:17.443] muffleCondition <- function (cond, pattern = "^muffle") [12:36:17.443] { [12:36:17.443] inherits <- base::inherits [12:36:17.443] invokeRestart <- base::invokeRestart [12:36:17.443] is.null <- base::is.null [12:36:17.443] muffled <- FALSE [12:36:17.443] if (inherits(cond, "message")) { [12:36:17.443] muffled <- grepl(pattern, "muffleMessage") [12:36:17.443] if (muffled) [12:36:17.443] invokeRestart("muffleMessage") [12:36:17.443] } [12:36:17.443] else if (inherits(cond, "warning")) { [12:36:17.443] muffled <- grepl(pattern, "muffleWarning") [12:36:17.443] if (muffled) [12:36:17.443] invokeRestart("muffleWarning") [12:36:17.443] } [12:36:17.443] else if (inherits(cond, "condition")) { [12:36:17.443] if (!is.null(pattern)) { [12:36:17.443] computeRestarts <- base::computeRestarts [12:36:17.443] grepl <- base::grepl [12:36:17.443] restarts <- computeRestarts(cond) [12:36:17.443] for (restart in restarts) { [12:36:17.443] name <- restart$name [12:36:17.443] if (is.null(name)) [12:36:17.443] next [12:36:17.443] if (!grepl(pattern, name)) [12:36:17.443] next [12:36:17.443] invokeRestart(restart) [12:36:17.443] muffled <- TRUE [12:36:17.443] break [12:36:17.443] } [12:36:17.443] } [12:36:17.443] } [12:36:17.443] invisible(muffled) [12:36:17.443] } [12:36:17.443] muffleCondition(cond, pattern = "^muffle") [12:36:17.443] } [12:36:17.443] } [12:36:17.443] } [12:36:17.443] })) [12:36:17.443] }, error = function(ex) { [12:36:17.443] base::structure(base::list(value = NULL, visible = NULL, [12:36:17.443] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [12:36:17.443] ...future.rng), started = ...future.startTime, [12:36:17.443] finished = Sys.time(), session_uuid = NA_character_, [12:36:17.443] version = "1.8"), class = "FutureResult") [12:36:17.443] }, finally = { [12:36:17.443] if (!identical(...future.workdir, getwd())) [12:36:17.443] setwd(...future.workdir) [12:36:17.443] { [12:36:17.443] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [12:36:17.443] ...future.oldOptions$nwarnings <- NULL [12:36:17.443] } [12:36:17.443] base::options(...future.oldOptions) [12:36:17.443] if (.Platform$OS.type == "windows") { [12:36:17.443] old_names <- names(...future.oldEnvVars) [12:36:17.443] envs <- base::Sys.getenv() [12:36:17.443] names <- names(envs) [12:36:17.443] common <- intersect(names, old_names) [12:36:17.443] added <- setdiff(names, old_names) [12:36:17.443] removed <- setdiff(old_names, names) [12:36:17.443] changed <- common[...future.oldEnvVars[common] != [12:36:17.443] envs[common]] [12:36:17.443] NAMES <- toupper(changed) [12:36:17.443] args <- list() [12:36:17.443] for (kk in seq_along(NAMES)) { [12:36:17.443] name <- changed[[kk]] [12:36:17.443] NAME <- NAMES[[kk]] [12:36:17.443] if (name != NAME && is.element(NAME, old_names)) [12:36:17.443] next [12:36:17.443] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:17.443] } [12:36:17.443] NAMES <- toupper(added) [12:36:17.443] for (kk in seq_along(NAMES)) { [12:36:17.443] name <- added[[kk]] [12:36:17.443] NAME <- NAMES[[kk]] [12:36:17.443] if (name != NAME && is.element(NAME, old_names)) [12:36:17.443] next [12:36:17.443] args[[name]] <- "" [12:36:17.443] } [12:36:17.443] NAMES <- toupper(removed) [12:36:17.443] for (kk in seq_along(NAMES)) { [12:36:17.443] name <- removed[[kk]] [12:36:17.443] NAME <- NAMES[[kk]] [12:36:17.443] if (name != NAME && is.element(NAME, old_names)) [12:36:17.443] next [12:36:17.443] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:17.443] } [12:36:17.443] if (length(args) > 0) [12:36:17.443] base::do.call(base::Sys.setenv, args = args) [12:36:17.443] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [12:36:17.443] } [12:36:17.443] else { [12:36:17.443] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [12:36:17.443] } [12:36:17.443] { [12:36:17.443] if (base::length(...future.futureOptionsAdded) > [12:36:17.443] 0L) { [12:36:17.443] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [12:36:17.443] base::names(opts) <- ...future.futureOptionsAdded [12:36:17.443] base::options(opts) [12:36:17.443] } [12:36:17.443] { [12:36:17.443] NULL [12:36:17.443] options(future.plan = NULL) [12:36:17.443] if (is.na(NA_character_)) [12:36:17.443] Sys.unsetenv("R_FUTURE_PLAN") [12:36:17.443] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [12:36:17.443] future::plan(...future.strategy.old, .cleanup = FALSE, [12:36:17.443] .init = FALSE) [12:36:17.443] } [12:36:17.443] } [12:36:17.443] } [12:36:17.443] }) [12:36:17.443] if (TRUE) { [12:36:17.443] base::sink(type = "output", split = FALSE) [12:36:17.443] if (TRUE) { [12:36:17.443] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [12:36:17.443] } [12:36:17.443] else { [12:36:17.443] ...future.result["stdout"] <- base::list(NULL) [12:36:17.443] } [12:36:17.443] base::close(...future.stdout) [12:36:17.443] ...future.stdout <- NULL [12:36:17.443] } [12:36:17.443] ...future.result$conditions <- ...future.conditions [12:36:17.443] ...future.result$finished <- base::Sys.time() [12:36:17.443] ...future.result [12:36:17.443] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in 'tests/mirai_cluster.R' failed. Complete output: > source("incl/start.R") Loading required package: future [12:36:17.961] plan(): Setting new future strategy stack: [12:36:17.962] List of future strategies: [12:36:17.962] 1. mirai_multisession: [12:36:17.962] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [12:36:17.962] - tweaked: FALSE [12:36:17.962] - call: future::plan(future.mirai::mirai_multisession) [12:36:17.983] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [12:36:17.983] < mirai [$data] > [12:36:17.991] getGlobalsAndPackages() ... [12:36:17.991] Not searching for globals [12:36:17.992] - globals: [0] <none> [12:36:17.992] getGlobalsAndPackages() ... DONE [12:36:17.993] getGlobalsAndPackages() ... [12:36:17.993] [12:36:17.993] - globals: [0] <none> [12:36:17.993] getGlobalsAndPackages() ... DONE [12:36:18.388] Packages needed by the future expression (n = 0): <none> [12:36:18.388] Packages needed by future strategies (n = 0): <none> [12:36:18.389] { [12:36:18.389] { [12:36:18.389] { [12:36:18.389] ...future.startTime <- base::Sys.time() [12:36:18.389] { [12:36:18.389] { [12:36:18.389] { [12:36:18.389] base::local({ [12:36:18.389] has_future <- base::requireNamespace("future", [12:36:18.389] quietly = TRUE) [12:36:18.389] if (has_future) { [12:36:18.389] ns <- base::getNamespace("future") [12:36:18.389] version <- ns[[".package"]][["version"]] [12:36:18.389] if (is.null(version)) [12:36:18.389] version <- utils::packageVersion("future") [12:36:18.389] } [12:36:18.389] else { [12:36:18.389] version <- NULL [12:36:18.389] } [12:36:18.389] if (!has_future || version < "1.8.0") { [12:36:18.389] info <- base::c(r_version = base::gsub("R version ", [12:36:18.389] "", base::R.version$version.string), [12:36:18.389] platform = base::sprintf("%s (%s-bit)", [12:36:18.389] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [12:36:18.389] os = base::paste(base::Sys.info()[base::c("sysname", [12:36:18.389] "release", "version")], collapse = " "), [12:36:18.389] hostname = base::Sys.info()[["nodename"]]) [12:36:18.389] info <- base::sprintf("%s: %s", base::names(info), [12:36:18.389] info) [12:36:18.389] info <- base::paste(info, collapse = "; ") [12:36:18.389] if (!has_future) { [12:36:18.389] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [12:36:18.389] info) [12:36:18.389] } [12:36:18.389] else { [12:36:18.389] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [12:36:18.389] info, version) [12:36:18.389] } [12:36:18.389] base::stop(msg) [12:36:18.389] } [12:36:18.389] }) [12:36:18.389] } [12:36:18.389] ...future.strategy.old <- future::plan("list") [12:36:18.389] options(future.plan = NULL) [12:36:18.389] Sys.unsetenv("R_FUTURE_PLAN") [12:36:18.389] future::plan("default", .cleanup = FALSE, .init = FALSE) [12:36:18.389] } [12:36:18.389] ...future.workdir <- getwd() [12:36:18.389] } [12:36:18.389] ...future.oldOptions <- base::as.list(base::.Options) [12:36:18.389] ...future.oldEnvVars <- base::Sys.getenv() [12:36:18.389] } [12:36:18.389] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [12:36:18.389] future.globals.maxSize = NULL, future.globals.method = NULL, [12:36:18.389] future.globals.onMissing = NULL, future.globals.onReference = NULL, [12:36:18.389] future.globals.resolve = NULL, future.resolve.recursive = NULL, [12:36:18.389] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [12:36:18.389] future.stdout.windows.reencode = NULL, width = 80L) [12:36:18.389] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [12:36:18.389] base::names(...future.oldOptions)) [12:36:18.389] } [12:36:18.389] if (FALSE) { [12:36:18.389] } [12:36:18.389] else { [12:36:18.389] if (TRUE) { [12:36:18.389] ...future.stdout <- base::rawConnection(base::raw(0L), [12:36:18.389] open = "w") [12:36:18.389] } [12:36:18.389] else { [12:36:18.389] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [12:36:18.389] windows = "NUL", "/dev/null"), open = "w") [12:36:18.389] } [12:36:18.389] base::sink(...future.stdout, type = "output", split = FALSE) [12:36:18.389] base::on.exit(if (!base::is.null(...future.stdout)) { [12:36:18.389] base::sink(type = "output", split = FALSE) [12:36:18.389] base::close(...future.stdout) [12:36:18.389] }, add = TRUE) [12:36:18.389] } [12:36:18.389] ...future.frame <- base::sys.nframe() [12:36:18.389] ...future.conditions <- base::list() [12:36:18.389] ...future.rng <- base::globalenv()$.Random.seed [12:36:18.389] if (FALSE) { [12:36:18.389] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [12:36:18.389] "...future.value", "...future.globalenv.names", ".Random.seed") [12:36:18.389] } [12:36:18.389] ...future.result <- base::tryCatch({ [12:36:18.389] base::withCallingHandlers({ [12:36:18.389] ...future.value <- base::withVisible(base::local(NA)) [12:36:18.389] future::FutureResult(value = ...future.value$value, [12:36:18.389] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [12:36:18.389] ...future.rng), globalenv = if (FALSE) [12:36:18.389] list(added = base::setdiff(base::names(base::.GlobalEnv), [12:36:18.389] ...future.globalenv.names)) [12:36:18.389] else NULL, started = ...future.startTime, version = "1.8") [12:36:18.389] }, condition = base::local({ [12:36:18.389] c <- base::c [12:36:18.389] inherits <- base::inherits [12:36:18.389] invokeRestart <- base::invokeRestart [12:36:18.389] length <- base::length [12:36:18.389] list <- base::list [12:36:18.389] seq.int <- base::seq.int [12:36:18.389] signalCondition <- base::signalCondition [12:36:18.389] sys.calls <- base::sys.calls [12:36:18.389] `[[` <- base::`[[` [12:36:18.389] `+` <- base::`+` [12:36:18.389] `<<-` <- base::`<<-` [12:36:18.389] sysCalls <- function(calls = sys.calls(), from = 1L) { [12:36:18.389] calls[seq.int(from = from + 12L, to = length(calls) - [12:36:18.389] 3L)] [12:36:18.389] } [12:36:18.389] function(cond) { [12:36:18.389] is_error <- inherits(cond, "error") [12:36:18.389] ignore <- !is_error && !is.null(NULL) && inherits(cond, [12:36:18.389] NULL) [12:36:18.389] if (is_error) { [12:36:18.389] sessionInformation <- function() { [12:36:18.389] list(r = base::R.Version(), locale = base::Sys.getlocale(), [12:36:18.389] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [12:36:18.389] search = base::search(), system = base::Sys.info()) [12:36:18.389] } [12:36:18.389] ...future.conditions[[length(...future.conditions) + [12:36:18.389] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [12:36:18.389] cond$call), session = sessionInformation(), [12:36:18.389] timestamp = base::Sys.time(), signaled = 0L) [12:36:18.389] signalCondition(cond) [12:36:18.389] } [12:36:18.389] else if (!ignore && TRUE && inherits(cond, "condition")) { [12:36:18.389] signal <- FALSE && inherits(cond, character(0)) [12:36:18.389] ...future.conditions[[length(...future.conditions) + [12:36:18.389] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [12:36:18.389] if (FALSE && !signal) { [12:36:18.389] muffleCondition <- function (cond, pattern = "^muffle") [12:36:18.389] { [12:36:18.389] inherits <- base::inherits [12:36:18.389] invokeRestart <- base::invokeRestart [12:36:18.389] is.null <- base::is.null [12:36:18.389] muffled <- FALSE [12:36:18.389] if (inherits(cond, "message")) { [12:36:18.389] muffled <- grepl(pattern, "muffleMessage") [12:36:18.389] if (muffled) [12:36:18.389] invokeRestart("muffleMessage") [12:36:18.389] } [12:36:18.389] else if (inherits(cond, "warning")) { [12:36:18.389] muffled <- grepl(pattern, "muffleWarning") [12:36:18.389] if (muffled) [12:36:18.389] invokeRestart("muffleWarning") [12:36:18.389] } [12:36:18.389] else if (inherits(cond, "condition")) { [12:36:18.389] if (!is.null(pattern)) { [12:36:18.389] computeRestarts <- base::computeRestarts [12:36:18.389] grepl <- base::grepl [12:36:18.389] restarts <- computeRestarts(cond) [12:36:18.389] for (restart in restarts) { [12:36:18.389] name <- restart$name [12:36:18.389] if (is.null(name)) [12:36:18.389] next [12:36:18.389] if (!grepl(pattern, name)) [12:36:18.389] next [12:36:18.389] invokeRestart(restart) [12:36:18.389] muffled <- TRUE [12:36:18.389] break [12:36:18.389] } [12:36:18.389] } [12:36:18.389] } [12:36:18.389] invisible(muffled) [12:36:18.389] } [12:36:18.389] muffleCondition(cond, pattern = "^muffle") [12:36:18.389] } [12:36:18.389] } [12:36:18.389] else { [12:36:18.389] if (TRUE) { [12:36:18.389] muffleCondition <- function (cond, pattern = "^muffle") [12:36:18.389] { [12:36:18.389] inherits <- base::inherits [12:36:18.389] invokeRestart <- base::invokeRestart [12:36:18.389] is.null <- base::is.null [12:36:18.389] muffled <- FALSE [12:36:18.389] if (inherits(cond, "message")) { [12:36:18.389] muffled <- grepl(pattern, "muffleMessage") [12:36:18.389] if (muffled) [12:36:18.389] invokeRestart("muffleMessage") [12:36:18.389] } [12:36:18.389] else if (inherits(cond, "warning")) { [12:36:18.389] muffled <- grepl(pattern, "muffleWarning") [12:36:18.389] if (muffled) [12:36:18.389] invokeRestart("muffleWarning") [12:36:18.389] } [12:36:18.389] else if (inherits(cond, "condition")) { [12:36:18.389] if (!is.null(pattern)) { [12:36:18.389] computeRestarts <- base::computeRestarts [12:36:18.389] grepl <- base::grepl [12:36:18.389] restarts <- computeRestarts(cond) [12:36:18.389] for (restart in restarts) { [12:36:18.389] name <- restart$name [12:36:18.389] if (is.null(name)) [12:36:18.389] next [12:36:18.389] if (!grepl(pattern, name)) [12:36:18.389] next [12:36:18.389] invokeRestart(restart) [12:36:18.389] muffled <- TRUE [12:36:18.389] break [12:36:18.389] } [12:36:18.389] } [12:36:18.389] } [12:36:18.389] invisible(muffled) [12:36:18.389] } [12:36:18.389] muffleCondition(cond, pattern = "^muffle") [12:36:18.389] } [12:36:18.389] } [12:36:18.389] } [12:36:18.389] })) [12:36:18.389] }, error = function(ex) { [12:36:18.389] base::structure(base::list(value = NULL, visible = NULL, [12:36:18.389] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [12:36:18.389] ...future.rng), started = ...future.startTime, [12:36:18.389] finished = Sys.time(), session_uuid = NA_character_, [12:36:18.389] version = "1.8"), class = "FutureResult") [12:36:18.389] }, finally = { [12:36:18.389] if (!identical(...future.workdir, getwd())) [12:36:18.389] setwd(...future.workdir) [12:36:18.389] { [12:36:18.389] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [12:36:18.389] ...future.oldOptions$nwarnings <- NULL [12:36:18.389] } [12:36:18.389] base::options(...future.oldOptions) [12:36:18.389] if (.Platform$OS.type == "windows") { [12:36:18.389] old_names <- names(...future.oldEnvVars) [12:36:18.389] envs <- base::Sys.getenv() [12:36:18.389] names <- names(envs) [12:36:18.389] common <- intersect(names, old_names) [12:36:18.389] added <- setdiff(names, old_names) [12:36:18.389] removed <- setdiff(old_names, names) [12:36:18.389] changed <- common[...future.oldEnvVars[common] != [12:36:18.389] envs[common]] [12:36:18.389] NAMES <- toupper(changed) [12:36:18.389] args <- list() [12:36:18.389] for (kk in seq_along(NAMES)) { [12:36:18.389] name <- changed[[kk]] [12:36:18.389] NAME <- NAMES[[kk]] [12:36:18.389] if (name != NAME && is.element(NAME, old_names)) [12:36:18.389] next [12:36:18.389] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:18.389] } [12:36:18.389] NAMES <- toupper(added) [12:36:18.389] for (kk in seq_along(NAMES)) { [12:36:18.389] name <- added[[kk]] [12:36:18.389] NAME <- NAMES[[kk]] [12:36:18.389] if (name != NAME && is.element(NAME, old_names)) [12:36:18.389] next [12:36:18.389] args[[name]] <- "" [12:36:18.389] } [12:36:18.389] NAMES <- toupper(removed) [12:36:18.389] for (kk in seq_along(NAMES)) { [12:36:18.389] name <- removed[[kk]] [12:36:18.389] NAME <- NAMES[[kk]] [12:36:18.389] if (name != NAME && is.element(NAME, old_names)) [12:36:18.389] next [12:36:18.389] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:18.389] } [12:36:18.389] if (length(args) > 0) [12:36:18.389] base::do.call(base::Sys.setenv, args = args) [12:36:18.389] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [12:36:18.389] } [12:36:18.389] else { [12:36:18.389] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [12:36:18.389] } [12:36:18.389] { [12:36:18.389] if (base::length(...future.futureOptionsAdded) > [12:36:18.389] 0L) { [12:36:18.389] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [12:36:18.389] base::names(opts) <- ...future.futureOptionsAdded [12:36:18.389] base::options(opts) [12:36:18.389] } [12:36:18.389] { [12:36:18.389] NULL [12:36:18.389] options(future.plan = NULL) [12:36:18.389] if (is.na(NA_character_)) [12:36:18.389] Sys.unsetenv("R_FUTURE_PLAN") [12:36:18.389] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [12:36:18.389] future::plan(...future.strategy.old, .cleanup = FALSE, [12:36:18.389] .init = FALSE) [12:36:18.389] } [12:36:18.389] } [12:36:18.389] } [12:36:18.389] }) [12:36:18.389] if (TRUE) { [12:36:18.389] base::sink(type = "output", split = FALSE) [12:36:18.389] if (TRUE) { [12:36:18.389] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [12:36:18.389] } [12:36:18.389] else { [12:36:18.389] ...future.result["stdout"] <- base::list(NULL) [12:36:18.389] } [12:36:18.389] base::close(...future.stdout) [12:36:18.389] ...future.stdout <- NULL [12:36:18.389] } [12:36:18.389] ...future.result$conditions <- ...future.conditions [12:36:18.389] ...future.result$finished <- base::Sys.time() [12:36:18.389] ...future.result [12:36:18.389] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in 'tests/nbrOfWorkers.R' failed. Complete output: > source("incl/start.R") Loading required package: future [12:36:18.956] plan(): Setting new future strategy stack: [12:36:18.957] List of future strategies: [12:36:18.957] 1. mirai_multisession: [12:36:18.957] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [12:36:18.957] - tweaked: FALSE [12:36:18.957] - call: future::plan(future.mirai::mirai_multisession) [12:36:18.980] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [12:36:18.981] < mirai [$data] > [12:36:18.987] getGlobalsAndPackages() ... [12:36:18.988] Not searching for globals [12:36:18.988] - globals: [0] <none> [12:36:18.989] getGlobalsAndPackages() ... DONE [12:36:18.989] getGlobalsAndPackages() ... [12:36:18.990] [12:36:18.990] - globals: [0] <none> [12:36:18.990] getGlobalsAndPackages() ... DONE [12:36:19.368] Packages needed by the future expression (n = 0): <none> [12:36:19.369] Packages needed by future strategies (n = 0): <none> [12:36:19.370] { [12:36:19.370] { [12:36:19.370] { [12:36:19.370] ...future.startTime <- base::Sys.time() [12:36:19.370] { [12:36:19.370] { [12:36:19.370] { [12:36:19.370] base::local({ [12:36:19.370] has_future <- base::requireNamespace("future", [12:36:19.370] quietly = TRUE) [12:36:19.370] if (has_future) { [12:36:19.370] ns <- base::getNamespace("future") [12:36:19.370] version <- ns[[".package"]][["version"]] [12:36:19.370] if (is.null(version)) [12:36:19.370] version <- utils::packageVersion("future") [12:36:19.370] } [12:36:19.370] else { [12:36:19.370] version <- NULL [12:36:19.370] } [12:36:19.370] if (!has_future || version < "1.8.0") { [12:36:19.370] info <- base::c(r_version = base::gsub("R version ", [12:36:19.370] "", base::R.version$version.string), [12:36:19.370] platform = base::sprintf("%s (%s-bit)", [12:36:19.370] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [12:36:19.370] os = base::paste(base::Sys.info()[base::c("sysname", [12:36:19.370] "release", "version")], collapse = " "), [12:36:19.370] hostname = base::Sys.info()[["nodename"]]) [12:36:19.370] info <- base::sprintf("%s: %s", base::names(info), [12:36:19.370] info) [12:36:19.370] info <- base::paste(info, collapse = "; ") [12:36:19.370] if (!has_future) { [12:36:19.370] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [12:36:19.370] info) [12:36:19.370] } [12:36:19.370] else { [12:36:19.370] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [12:36:19.370] info, version) [12:36:19.370] } [12:36:19.370] base::stop(msg) [12:36:19.370] } [12:36:19.370] }) [12:36:19.370] } [12:36:19.370] ...future.strategy.old <- future::plan("list") [12:36:19.370] options(future.plan = NULL) [12:36:19.370] Sys.unsetenv("R_FUTURE_PLAN") [12:36:19.370] future::plan("default", .cleanup = FALSE, .init = FALSE) [12:36:19.370] } [12:36:19.370] ...future.workdir <- getwd() [12:36:19.370] } [12:36:19.370] ...future.oldOptions <- base::as.list(base::.Options) [12:36:19.370] ...future.oldEnvVars <- base::Sys.getenv() [12:36:19.370] } [12:36:19.370] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [12:36:19.370] future.globals.maxSize = NULL, future.globals.method = NULL, [12:36:19.370] future.globals.onMissing = NULL, future.globals.onReference = NULL, [12:36:19.370] future.globals.resolve = NULL, future.resolve.recursive = NULL, [12:36:19.370] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [12:36:19.370] future.stdout.windows.reencode = NULL, width = 80L) [12:36:19.370] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [12:36:19.370] base::names(...future.oldOptions)) [12:36:19.370] } [12:36:19.370] if (FALSE) { [12:36:19.370] } [12:36:19.370] else { [12:36:19.370] if (TRUE) { [12:36:19.370] ...future.stdout <- base::rawConnection(base::raw(0L), [12:36:19.370] open = "w") [12:36:19.370] } [12:36:19.370] else { [12:36:19.370] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [12:36:19.370] windows = "NUL", "/dev/null"), open = "w") [12:36:19.370] } [12:36:19.370] base::sink(...future.stdout, type = "output", split = FALSE) [12:36:19.370] base::on.exit(if (!base::is.null(...future.stdout)) { [12:36:19.370] base::sink(type = "output", split = FALSE) [12:36:19.370] base::close(...future.stdout) [12:36:19.370] }, add = TRUE) [12:36:19.370] } [12:36:19.370] ...future.frame <- base::sys.nframe() [12:36:19.370] ...future.conditions <- base::list() [12:36:19.370] ...future.rng <- base::globalenv()$.Random.seed [12:36:19.370] if (FALSE) { [12:36:19.370] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [12:36:19.370] "...future.value", "...future.globalenv.names", ".Random.seed") [12:36:19.370] } [12:36:19.370] ...future.result <- base::tryCatch({ [12:36:19.370] base::withCallingHandlers({ [12:36:19.370] ...future.value <- base::withVisible(base::local(NA)) [12:36:19.370] future::FutureResult(value = ...future.value$value, [12:36:19.370] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [12:36:19.370] ...future.rng), globalenv = if (FALSE) [12:36:19.370] list(added = base::setdiff(base::names(base::.GlobalEnv), [12:36:19.370] ...future.globalenv.names)) [12:36:19.370] else NULL, started = ...future.startTime, version = "1.8") [12:36:19.370] }, condition = base::local({ [12:36:19.370] c <- base::c [12:36:19.370] inherits <- base::inherits [12:36:19.370] invokeRestart <- base::invokeRestart [12:36:19.370] length <- base::length [12:36:19.370] list <- base::list [12:36:19.370] seq.int <- base::seq.int [12:36:19.370] signalCondition <- base::signalCondition [12:36:19.370] sys.calls <- base::sys.calls [12:36:19.370] `[[` <- base::`[[` [12:36:19.370] `+` <- base::`+` [12:36:19.370] `<<-` <- base::`<<-` [12:36:19.370] sysCalls <- function(calls = sys.calls(), from = 1L) { [12:36:19.370] calls[seq.int(from = from + 12L, to = length(calls) - [12:36:19.370] 3L)] [12:36:19.370] } [12:36:19.370] function(cond) { [12:36:19.370] is_error <- inherits(cond, "error") [12:36:19.370] ignore <- !is_error && !is.null(NULL) && inherits(cond, [12:36:19.370] NULL) [12:36:19.370] if (is_error) { [12:36:19.370] sessionInformation <- function() { [12:36:19.370] list(r = base::R.Version(), locale = base::Sys.getlocale(), [12:36:19.370] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [12:36:19.370] search = base::search(), system = base::Sys.info()) [12:36:19.370] } [12:36:19.370] ...future.conditions[[length(...future.conditions) + [12:36:19.370] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [12:36:19.370] cond$call), session = sessionInformation(), [12:36:19.370] timestamp = base::Sys.time(), signaled = 0L) [12:36:19.370] signalCondition(cond) [12:36:19.370] } [12:36:19.370] else if (!ignore && TRUE && inherits(cond, "condition")) { [12:36:19.370] signal <- FALSE && inherits(cond, character(0)) [12:36:19.370] ...future.conditions[[length(...future.conditions) + [12:36:19.370] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [12:36:19.370] if (FALSE && !signal) { [12:36:19.370] muffleCondition <- function (cond, pattern = "^muffle") [12:36:19.370] { [12:36:19.370] inherits <- base::inherits [12:36:19.370] invokeRestart <- base::invokeRestart [12:36:19.370] is.null <- base::is.null [12:36:19.370] muffled <- FALSE [12:36:19.370] if (inherits(cond, "message")) { [12:36:19.370] muffled <- grepl(pattern, "muffleMessage") [12:36:19.370] if (muffled) [12:36:19.370] invokeRestart("muffleMessage") [12:36:19.370] } [12:36:19.370] else if (inherits(cond, "warning")) { [12:36:19.370] muffled <- grepl(pattern, "muffleWarning") [12:36:19.370] if (muffled) [12:36:19.370] invokeRestart("muffleWarning") [12:36:19.370] } [12:36:19.370] else if (inherits(cond, "condition")) { [12:36:19.370] if (!is.null(pattern)) { [12:36:19.370] computeRestarts <- base::computeRestarts [12:36:19.370] grepl <- base::grepl [12:36:19.370] restarts <- computeRestarts(cond) [12:36:19.370] for (restart in restarts) { [12:36:19.370] name <- restart$name [12:36:19.370] if (is.null(name)) [12:36:19.370] next [12:36:19.370] if (!grepl(pattern, name)) [12:36:19.370] next [12:36:19.370] invokeRestart(restart) [12:36:19.370] muffled <- TRUE [12:36:19.370] break [12:36:19.370] } [12:36:19.370] } [12:36:19.370] } [12:36:19.370] invisible(muffled) [12:36:19.370] } [12:36:19.370] muffleCondition(cond, pattern = "^muffle") [12:36:19.370] } [12:36:19.370] } [12:36:19.370] else { [12:36:19.370] if (TRUE) { [12:36:19.370] muffleCondition <- function (cond, pattern = "^muffle") [12:36:19.370] { [12:36:19.370] inherits <- base::inherits [12:36:19.370] invokeRestart <- base::invokeRestart [12:36:19.370] is.null <- base::is.null [12:36:19.370] muffled <- FALSE [12:36:19.370] if (inherits(cond, "message")) { [12:36:19.370] muffled <- grepl(pattern, "muffleMessage") [12:36:19.370] if (muffled) [12:36:19.370] invokeRestart("muffleMessage") [12:36:19.370] } [12:36:19.370] else if (inherits(cond, "warning")) { [12:36:19.370] muffled <- grepl(pattern, "muffleWarning") [12:36:19.370] if (muffled) [12:36:19.370] invokeRestart("muffleWarning") [12:36:19.370] } [12:36:19.370] else if (inherits(cond, "condition")) { [12:36:19.370] if (!is.null(pattern)) { [12:36:19.370] computeRestarts <- base::computeRestarts [12:36:19.370] grepl <- base::grepl [12:36:19.370] restarts <- computeRestarts(cond) [12:36:19.370] for (restart in restarts) { [12:36:19.370] name <- restart$name [12:36:19.370] if (is.null(name)) [12:36:19.370] next [12:36:19.370] if (!grepl(pattern, name)) [12:36:19.370] next [12:36:19.370] invokeRestart(restart) [12:36:19.370] muffled <- TRUE [12:36:19.370] break [12:36:19.370] } [12:36:19.370] } [12:36:19.370] } [12:36:19.370] invisible(muffled) [12:36:19.370] } [12:36:19.370] muffleCondition(cond, pattern = "^muffle") [12:36:19.370] } [12:36:19.370] } [12:36:19.370] } [12:36:19.370] })) [12:36:19.370] }, error = function(ex) { [12:36:19.370] base::structure(base::list(value = NULL, visible = NULL, [12:36:19.370] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [12:36:19.370] ...future.rng), started = ...future.startTime, [12:36:19.370] finished = Sys.time(), session_uuid = NA_character_, [12:36:19.370] version = "1.8"), class = "FutureResult") [12:36:19.370] }, finally = { [12:36:19.370] if (!identical(...future.workdir, getwd())) [12:36:19.370] setwd(...future.workdir) [12:36:19.370] { [12:36:19.370] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [12:36:19.370] ...future.oldOptions$nwarnings <- NULL [12:36:19.370] } [12:36:19.370] base::options(...future.oldOptions) [12:36:19.370] if (.Platform$OS.type == "windows") { [12:36:19.370] old_names <- names(...future.oldEnvVars) [12:36:19.370] envs <- base::Sys.getenv() [12:36:19.370] names <- names(envs) [12:36:19.370] common <- intersect(names, old_names) [12:36:19.370] added <- setdiff(names, old_names) [12:36:19.370] removed <- setdiff(old_names, names) [12:36:19.370] changed <- common[...future.oldEnvVars[common] != [12:36:19.370] envs[common]] [12:36:19.370] NAMES <- toupper(changed) [12:36:19.370] args <- list() [12:36:19.370] for (kk in seq_along(NAMES)) { [12:36:19.370] name <- changed[[kk]] [12:36:19.370] NAME <- NAMES[[kk]] [12:36:19.370] if (name != NAME && is.element(NAME, old_names)) [12:36:19.370] next [12:36:19.370] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:19.370] } [12:36:19.370] NAMES <- toupper(added) [12:36:19.370] for (kk in seq_along(NAMES)) { [12:36:19.370] name <- added[[kk]] [12:36:19.370] NAME <- NAMES[[kk]] [12:36:19.370] if (name != NAME && is.element(NAME, old_names)) [12:36:19.370] next [12:36:19.370] args[[name]] <- "" [12:36:19.370] } [12:36:19.370] NAMES <- toupper(removed) [12:36:19.370] for (kk in seq_along(NAMES)) { [12:36:19.370] name <- removed[[kk]] [12:36:19.370] NAME <- NAMES[[kk]] [12:36:19.370] if (name != NAME && is.element(NAME, old_names)) [12:36:19.370] next [12:36:19.370] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:19.370] } [12:36:19.370] if (length(args) > 0) [12:36:19.370] base::do.call(base::Sys.setenv, args = args) [12:36:19.370] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [12:36:19.370] } [12:36:19.370] else { [12:36:19.370] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [12:36:19.370] } [12:36:19.370] { [12:36:19.370] if (base::length(...future.futureOptionsAdded) > [12:36:19.370] 0L) { [12:36:19.370] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [12:36:19.370] base::names(opts) <- ...future.futureOptionsAdded [12:36:19.370] base::options(opts) [12:36:19.370] } [12:36:19.370] { [12:36:19.370] NULL [12:36:19.370] options(future.plan = NULL) [12:36:19.370] if (is.na(NA_character_)) [12:36:19.370] Sys.unsetenv("R_FUTURE_PLAN") [12:36:19.370] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [12:36:19.370] future::plan(...future.strategy.old, .cleanup = FALSE, [12:36:19.370] .init = FALSE) [12:36:19.370] } [12:36:19.370] } [12:36:19.370] } [12:36:19.370] }) [12:36:19.370] if (TRUE) { [12:36:19.370] base::sink(type = "output", split = FALSE) [12:36:19.370] if (TRUE) { [12:36:19.370] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [12:36:19.370] } [12:36:19.370] else { [12:36:19.370] ...future.result["stdout"] <- base::list(NULL) [12:36:19.370] } [12:36:19.370] base::close(...future.stdout) [12:36:19.370] ...future.stdout <- NULL [12:36:19.370] } [12:36:19.370] ...future.result$conditions <- ...future.conditions [12:36:19.370] ...future.result$finished <- base::Sys.time() [12:36:19.370] ...future.result [12:36:19.370] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in 'tests/plan.R' failed. Complete output: > source("incl/start,load-only.R") [12:36:19.774] Detected 'R CMD check': - adjusting defaults to be a good citizen [12:36:19.776] Set package option 'parallelly.availableCores.methods' [12:36:19.777] Environment variable 'R_PARALLELLY_AVAILABLECORES_METHODS' not set [12:36:19.777] Set package option 'parallelly.availableCores.fallback' [12:36:19.777] Environment variable 'R_PARALLELLY_AVAILABLECORES_FALLBACK' not set [12:36:19.777] Set package option 'parallelly.availableCores.min' [12:36:19.778] Environment variable 'R_PARALLELLY_AVAILABLECORES_MIN' not set [12:36:19.778] Set package option 'parallelly.availableCores.system' [12:36:19.778] Environment variable 'R_PARALLELLY_AVAILABLECORES_SYSTEM' not set [12:36:19.778] Set package option 'parallelly.availableCores.logical' [12:36:19.779] Environment variable 'R_PARALLELLY_AVAILABLECORES_LOGICAL' not set [12:36:19.779] Set package option 'parallelly.availableCores.omit' [12:36:19.779] Environment variable 'R_PARALLELLY_AVAILABLECORES_OMIT' not set [12:36:19.780] Set package option 'parallelly.availableWorkers.methods' [12:36:19.780] Environment variable 'R_PARALLELLY_AVAILABLEWORKERS_METHODS' not set [12:36:19.780] Set package option 'parallelly.maxWorkers.localhost' [12:36:19.780] Environment variable 'R_PARALLELLY_MAXWORKERS_LOCALHOST' not set [12:36:19.781] Set package option 'parallelly.maxWorkers.localhost.ignore' [12:36:19.781] Environment variable 'R_PARALLELLY_MAXWORKERS_LOCALHOST_IGNORE' not set [12:36:19.781] Set package option 'parallelly.fork.enable' [12:36:19.781] Environment variable 'R_PARALLELLY_FORK_ENABLE' not set [12:36:19.782] Set package option 'parallelly.supportsMulticore.disableOn' [12:36:19.782] Environment variable 'R_PARALLELLY_SUPPORTSMULTICORE_DISABLEON' not set [12:36:19.782] Set package option 'parallelly.supportsMulticore.unstable' [12:36:19.782] Environment variable 'R_PARALLELLY_SUPPORTSMULTICORE_UNSTABLE' not set [12:36:19.783] Set package option 'parallelly.makeNodePSOCK.setup_strategy' [12:36:19.783] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_SETUP_STRATEGY' not set [12:36:19.783] Set package option 'parallelly.makeNodePSOCK.validate' [12:36:19.783] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_VALIDATE' not set [12:36:19.784] Set package option 'parallelly.makeNodePSOCK.connectTimeout' [12:36:19.784] R_PARALLELLY_MAKENODEPSOCK_CONNECTTIMEOUT='120' [12:36:19.784] Coercing from character to numeric: '120' [12:36:19.784] => options("parallelly.makeNodePSOCK.connectTimeout" = '120') [n=1, mode=double] [12:36:19.785] Set package option 'parallelly.makeNodePSOCK.timeout' [12:36:19.785] R_PARALLELLY_MAKENODEPSOCK_TIMEOUT='120' [12:36:19.785] Coercing from character to numeric: '120' [12:36:19.786] => options("parallelly.makeNodePSOCK.timeout" = '120') [n=1, mode=double] [12:36:19.786] Set package option 'parallelly.makeNodePSOCK.useXDR' [12:36:19.787] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_USEXDR' not set [12:36:19.787] Set package option 'parallelly.makeNodePSOCK.socketOptions' [12:36:19.787] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_SOCKETOPTIONS' not set [12:36:19.787] Set package option 'parallelly.makeNodePSOCK.rshcmd' [12:36:19.788] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_RSHCMD' not set [12:36:19.788] Set package option 'parallelly.makeNodePSOCK.rshopts' [12:36:19.788] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_RSHOPTS' not set [12:36:19.789] Set package option 'parallelly.makeNodePSOCK.tries' [12:36:19.789] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_TRIES' not set [12:36:19.789] Set package option 'parallelly.makeNodePSOCK.tries.delay' [12:36:19.789] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_TRIES_DELAY' not set [12:36:19.790] Set package option 'parallelly.makeNodePSOCK.rscript_label' [12:36:19.790] R_PARALLELLY_MAKENODEPSOCK_RSCRIPT_LABEL='TRUE' [12:36:19.790] => options("parallelly.makeNodePSOCK.rscript_label" = 'TRUE') [n=1, mode=character] [12:36:19.791] Set package option 'parallelly.makeNodePSOCK.sessionInfo.pkgs' [12:36:19.791] R_PARALLELLY_MAKENODEPSOCK_SESSIONINFO_PKGS='TRUE' [12:36:19.791] => options("parallelly.makeNodePSOCK.sessionInfo.pkgs" = 'TRUE') [n=1, mode=character] [12:36:19.791] Set package option 'parallelly.makeNodePSOCK.autoKill' [12:36:19.792] R_PARALLELLY_MAKENODEPSOCK_AUTOKILL='TRUE' [12:36:19.792] Coercing from character to logical: 'TRUE' [12:36:19.792] => options("parallelly.makeNodePSOCK.autoKill" = 'TRUE') [n=1, mode=logical] [12:36:19.792] Set package option 'parallelly.makeNodePSOCK.master.localhost.hostname' [12:36:19.793] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_MASTER_LOCALHOST_HOSTNAME' not set [12:36:19.793] Set package option 'parallelly.makeNodePSOCK.port.increment' [12:36:19.793] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_PORT_INCREMENT' not set [12:36:19.795] 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' [12:36:19.803] Future-specific environment variables: [12:36:19.804] Environment variable 'R_FUTURE_DEMO_MANDELBROT_REGION' not set [12:36:19.804] Environment variable 'R_FUTURE_DEMO_MANDELBROT_NROW' not set [12:36:19.804] Environment variable 'R_FUTURE_DEPRECATED_IGNORE' not set [12:36:19.804] Environment variable 'R_FUTURE_DEPRECATED_DEFUNCT' not set [12:36:19.804] Environment variable 'R_FUTURE_FORK_MULTITHREADING_ENABLE' not set [12:36:19.805] Environment variable 'R_FUTURE_GLOBALS_MAXSIZE' not set [12:36:19.805] Environment variable 'R_FUTURE_GLOBALS_ONMISSING' not set [12:36:19.805] Environment variable 'R_FUTURE_GLOBALS_ONREFERENCE' not set [12:36:19.805] Environment variable 'R_FUTURE_GLOBALS_METHOD' not set [12:36:19.805] Environment variable 'R_FUTURE_GLOBALS_RESOLVE' not set [12:36:19.806] Environment variable 'R_FUTURE_LAZY_ASSERTOWNER' not set [12:36:19.806] Environment variable 'R_FUTURE_PLAN' not set [12:36:19.806] Environment variable 'R_FUTURE_PLAN_DISALLOW' not set [12:36:19.806] Environment variable 'R_FUTURE_PSOCK_RELAY_IMMEDIATE' not set [12:36:19.806] Environment variable 'R_FUTURE_RELAY_IMMEDIATE' not set [12:36:19.806] Environment variable 'R_FUTURE_RESOLVE_RECURSIVE' not set [12:36:19.807] Environment variable 'R_FUTURE_ALIVE_TIMEOUT' not set [12:36:19.807] Environment variable 'R_FUTURE_RESOLVED_TIMEOUT' not set [12:36:19.807] Environment variable 'R_FUTURE_CLUSTER_RESOLVED_TIMEOUT' not set [12:36:19.807] Environment variable 'R_FUTURE_MULTICORE_RESOLVED_TIMEOUT' not set [12:36:19.807] Environment variable 'R_FUTURE_ONFUTURECONDITION_KEEPFUTURE' not set [12:36:19.807] Environment variable 'R_FUTURE_RNG_ONMISUSE' not set [12:36:19.808] Environment variable 'R_FUTURE_GLOBALENV_ONMISUSE' not set [12:36:19.808] Environment variable 'R_FUTURE_WAIT_TIMEOUT' not set [12:36:19.808] Environment variable 'R_FUTURE_WAIT_INTERVAL' not set [12:36:19.808] Environment variable 'R_FUTURE_WAIT_ALPHA' not set [12:36:19.808] Environment variable 'R_FUTURE_ASSIGN_GLOBALS_EXCLUDE' not set [12:36:19.809] Environment variable 'R_FUTURE_OUTPUT_WINDOWS_REENCODE' not set [12:36:19.809] Environment variable 'R_FUTURE_GLOBALS_GLOBALSOF_LOCALS' not set [12:36:19.809] Environment variable 'R_FUTURE_STATE_ONINVALID' not set [12:36:19.809] Environment variable 'R_FUTURE_JOURNAL' not set [12:36:19.809] Environment variable 'R_FUTURE_GLOBALS_KEEPWHERE' not set [12:36:19.810] R process uuid: 2deb4ff0-b443-53ef-486e-15cb818a2426 [12:36:19.811] Setting plan('default') [12:36:19.811] plan(): Setting new future strategy stack: [12:36:19.811] List of future strategies: [12:36:19.811] 1. sequential: [12:36:19.811] - args: function (..., envir = parent.frame(), workers = "<NULL>") [12:36:19.811] - tweaked: FALSE [12:36:19.811] - call: NULL [12:36:19.813] plan(): nbrOfWorkers() = 1 [12:36:19.878] plan(): Setting new future strategy stack: [12:36:19.878] List of future strategies: [12:36:19.878] 1. mirai_multisession: [12:36:19.878] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [12:36:19.878] - tweaked: FALSE [12:36:19.878] - call: future::plan(future.mirai::mirai_multisession) [12:36:19.895] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [12:36:19.895] < mirai [$data] > [12:36:19.900] getGlobalsAndPackages() ... [12:36:19.901] Not searching for globals [12:36:19.901] - globals: [0] <none> [12:36:19.901] getGlobalsAndPackages() ... DONE [12:36:19.902] getGlobalsAndPackages() ... [12:36:19.902] [12:36:19.902] - globals: [0] <none> [12:36:19.902] getGlobalsAndPackages() ... DONE [12:36:20.289] Packages needed by the future expression (n = 0): <none> [12:36:20.289] Packages needed by future strategies (n = 0): <none> [12:36:20.291] { [12:36:20.291] { [12:36:20.291] { [12:36:20.291] ...future.startTime <- base::Sys.time() [12:36:20.291] { [12:36:20.291] { [12:36:20.291] { [12:36:20.291] base::local({ [12:36:20.291] has_future <- base::requireNamespace("future", [12:36:20.291] quietly = TRUE) [12:36:20.291] if (has_future) { [12:36:20.291] ns <- base::getNamespace("future") [12:36:20.291] version <- ns[[".package"]][["version"]] [12:36:20.291] if (is.null(version)) [12:36:20.291] version <- utils::packageVersion("future") [12:36:20.291] } [12:36:20.291] else { [12:36:20.291] version <- NULL [12:36:20.291] } [12:36:20.291] if (!has_future || version < "1.8.0") { [12:36:20.291] info <- base::c(r_version = base::gsub("R version ", [12:36:20.291] "", base::R.version$version.string), [12:36:20.291] platform = base::sprintf("%s (%s-bit)", [12:36:20.291] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [12:36:20.291] os = base::paste(base::Sys.info()[base::c("sysname", [12:36:20.291] "release", "version")], collapse = " "), [12:36:20.291] hostname = base::Sys.info()[["nodename"]]) [12:36:20.291] info <- base::sprintf("%s: %s", base::names(info), [12:36:20.291] info) [12:36:20.291] info <- base::paste(info, collapse = "; ") [12:36:20.291] if (!has_future) { [12:36:20.291] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [12:36:20.291] info) [12:36:20.291] } [12:36:20.291] else { [12:36:20.291] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [12:36:20.291] info, version) [12:36:20.291] } [12:36:20.291] base::stop(msg) [12:36:20.291] } [12:36:20.291] }) [12:36:20.291] } [12:36:20.291] ...future.strategy.old <- future::plan("list") [12:36:20.291] options(future.plan = NULL) [12:36:20.291] Sys.unsetenv("R_FUTURE_PLAN") [12:36:20.291] future::plan("default", .cleanup = FALSE, .init = FALSE) [12:36:20.291] } [12:36:20.291] ...future.workdir <- getwd() [12:36:20.291] } [12:36:20.291] ...future.oldOptions <- base::as.list(base::.Options) [12:36:20.291] ...future.oldEnvVars <- base::Sys.getenv() [12:36:20.291] } [12:36:20.291] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [12:36:20.291] future.globals.maxSize = NULL, future.globals.method = NULL, [12:36:20.291] future.globals.onMissing = NULL, future.globals.onReference = NULL, [12:36:20.291] future.globals.resolve = NULL, future.resolve.recursive = NULL, [12:36:20.291] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [12:36:20.291] future.stdout.windows.reencode = NULL, width = 80L) [12:36:20.291] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [12:36:20.291] base::names(...future.oldOptions)) [12:36:20.291] } [12:36:20.291] if (FALSE) { [12:36:20.291] } [12:36:20.291] else { [12:36:20.291] if (TRUE) { [12:36:20.291] ...future.stdout <- base::rawConnection(base::raw(0L), [12:36:20.291] open = "w") [12:36:20.291] } [12:36:20.291] else { [12:36:20.291] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [12:36:20.291] windows = "NUL", "/dev/null"), open = "w") [12:36:20.291] } [12:36:20.291] base::sink(...future.stdout, type = "output", split = FALSE) [12:36:20.291] base::on.exit(if (!base::is.null(...future.stdout)) { [12:36:20.291] base::sink(type = "output", split = FALSE) [12:36:20.291] base::close(...future.stdout) [12:36:20.291] }, add = TRUE) [12:36:20.291] } [12:36:20.291] ...future.frame <- base::sys.nframe() [12:36:20.291] ...future.conditions <- base::list() [12:36:20.291] ...future.rng <- base::globalenv()$.Random.seed [12:36:20.291] if (FALSE) { [12:36:20.291] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [12:36:20.291] "...future.value", "...future.globalenv.names", ".Random.seed") [12:36:20.291] } [12:36:20.291] ...future.result <- base::tryCatch({ [12:36:20.291] base::withCallingHandlers({ [12:36:20.291] ...future.value <- base::withVisible(base::local(NA)) [12:36:20.291] future::FutureResult(value = ...future.value$value, [12:36:20.291] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [12:36:20.291] ...future.rng), globalenv = if (FALSE) [12:36:20.291] list(added = base::setdiff(base::names(base::.GlobalEnv), [12:36:20.291] ...future.globalenv.names)) [12:36:20.291] else NULL, started = ...future.startTime, version = "1.8") [12:36:20.291] }, condition = base::local({ [12:36:20.291] c <- base::c [12:36:20.291] inherits <- base::inherits [12:36:20.291] invokeRestart <- base::invokeRestart [12:36:20.291] length <- base::length [12:36:20.291] list <- base::list [12:36:20.291] seq.int <- base::seq.int [12:36:20.291] signalCondition <- base::signalCondition [12:36:20.291] sys.calls <- base::sys.calls [12:36:20.291] `[[` <- base::`[[` [12:36:20.291] `+` <- base::`+` [12:36:20.291] `<<-` <- base::`<<-` [12:36:20.291] sysCalls <- function(calls = sys.calls(), from = 1L) { [12:36:20.291] calls[seq.int(from = from + 12L, to = length(calls) - [12:36:20.291] 3L)] [12:36:20.291] } [12:36:20.291] function(cond) { [12:36:20.291] is_error <- inherits(cond, "error") [12:36:20.291] ignore <- !is_error && !is.null(NULL) && inherits(cond, [12:36:20.291] NULL) [12:36:20.291] if (is_error) { [12:36:20.291] sessionInformation <- function() { [12:36:20.291] list(r = base::R.Version(), locale = base::Sys.getlocale(), [12:36:20.291] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [12:36:20.291] search = base::search(), system = base::Sys.info()) [12:36:20.291] } [12:36:20.291] ...future.conditions[[length(...future.conditions) + [12:36:20.291] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [12:36:20.291] cond$call), session = sessionInformation(), [12:36:20.291] timestamp = base::Sys.time(), signaled = 0L) [12:36:20.291] signalCondition(cond) [12:36:20.291] } [12:36:20.291] else if (!ignore && TRUE && inherits(cond, "condition")) { [12:36:20.291] signal <- FALSE && inherits(cond, character(0)) [12:36:20.291] ...future.conditions[[length(...future.conditions) + [12:36:20.291] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [12:36:20.291] if (FALSE && !signal) { [12:36:20.291] muffleCondition <- function (cond, pattern = "^muffle") [12:36:20.291] { [12:36:20.291] inherits <- base::inherits [12:36:20.291] invokeRestart <- base::invokeRestart [12:36:20.291] is.null <- base::is.null [12:36:20.291] muffled <- FALSE [12:36:20.291] if (inherits(cond, "message")) { [12:36:20.291] muffled <- grepl(pattern, "muffleMessage") [12:36:20.291] if (muffled) [12:36:20.291] invokeRestart("muffleMessage") [12:36:20.291] } [12:36:20.291] else if (inherits(cond, "warning")) { [12:36:20.291] muffled <- grepl(pattern, "muffleWarning") [12:36:20.291] if (muffled) [12:36:20.291] invokeRestart("muffleWarning") [12:36:20.291] } [12:36:20.291] else if (inherits(cond, "condition")) { [12:36:20.291] if (!is.null(pattern)) { [12:36:20.291] computeRestarts <- base::computeRestarts [12:36:20.291] grepl <- base::grepl [12:36:20.291] restarts <- computeRestarts(cond) [12:36:20.291] for (restart in restarts) { [12:36:20.291] name <- restart$name [12:36:20.291] if (is.null(name)) [12:36:20.291] next [12:36:20.291] if (!grepl(pattern, name)) [12:36:20.291] next [12:36:20.291] invokeRestart(restart) [12:36:20.291] muffled <- TRUE [12:36:20.291] break [12:36:20.291] } [12:36:20.291] } [12:36:20.291] } [12:36:20.291] invisible(muffled) [12:36:20.291] } [12:36:20.291] muffleCondition(cond, pattern = "^muffle") [12:36:20.291] } [12:36:20.291] } [12:36:20.291] else { [12:36:20.291] if (TRUE) { [12:36:20.291] muffleCondition <- function (cond, pattern = "^muffle") [12:36:20.291] { [12:36:20.291] inherits <- base::inherits [12:36:20.291] invokeRestart <- base::invokeRestart [12:36:20.291] is.null <- base::is.null [12:36:20.291] muffled <- FALSE [12:36:20.291] if (inherits(cond, "message")) { [12:36:20.291] muffled <- grepl(pattern, "muffleMessage") [12:36:20.291] if (muffled) [12:36:20.291] invokeRestart("muffleMessage") [12:36:20.291] } [12:36:20.291] else if (inherits(cond, "warning")) { [12:36:20.291] muffled <- grepl(pattern, "muffleWarning") [12:36:20.291] if (muffled) [12:36:20.291] invokeRestart("muffleWarning") [12:36:20.291] } [12:36:20.291] else if (inherits(cond, "condition")) { [12:36:20.291] if (!is.null(pattern)) { [12:36:20.291] computeRestarts <- base::computeRestarts [12:36:20.291] grepl <- base::grepl [12:36:20.291] restarts <- computeRestarts(cond) [12:36:20.291] for (restart in restarts) { [12:36:20.291] name <- restart$name [12:36:20.291] if (is.null(name)) [12:36:20.291] next [12:36:20.291] if (!grepl(pattern, name)) [12:36:20.291] next [12:36:20.291] invokeRestart(restart) [12:36:20.291] muffled <- TRUE [12:36:20.291] break [12:36:20.291] } [12:36:20.291] } [12:36:20.291] } [12:36:20.291] invisible(muffled) [12:36:20.291] } [12:36:20.291] muffleCondition(cond, pattern = "^muffle") [12:36:20.291] } [12:36:20.291] } [12:36:20.291] } [12:36:20.291] })) [12:36:20.291] }, error = function(ex) { [12:36:20.291] base::structure(base::list(value = NULL, visible = NULL, [12:36:20.291] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [12:36:20.291] ...future.rng), started = ...future.startTime, [12:36:20.291] finished = Sys.time(), session_uuid = NA_character_, [12:36:20.291] version = "1.8"), class = "FutureResult") [12:36:20.291] }, finally = { [12:36:20.291] if (!identical(...future.workdir, getwd())) [12:36:20.291] setwd(...future.workdir) [12:36:20.291] { [12:36:20.291] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [12:36:20.291] ...future.oldOptions$nwarnings <- NULL [12:36:20.291] } [12:36:20.291] base::options(...future.oldOptions) [12:36:20.291] if (.Platform$OS.type == "windows") { [12:36:20.291] old_names <- names(...future.oldEnvVars) [12:36:20.291] envs <- base::Sys.getenv() [12:36:20.291] names <- names(envs) [12:36:20.291] common <- intersect(names, old_names) [12:36:20.291] added <- setdiff(names, old_names) [12:36:20.291] removed <- setdiff(old_names, names) [12:36:20.291] changed <- common[...future.oldEnvVars[common] != [12:36:20.291] envs[common]] [12:36:20.291] NAMES <- toupper(changed) [12:36:20.291] args <- list() [12:36:20.291] for (kk in seq_along(NAMES)) { [12:36:20.291] name <- changed[[kk]] [12:36:20.291] NAME <- NAMES[[kk]] [12:36:20.291] if (name != NAME && is.element(NAME, old_names)) [12:36:20.291] next [12:36:20.291] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:20.291] } [12:36:20.291] NAMES <- toupper(added) [12:36:20.291] for (kk in seq_along(NAMES)) { [12:36:20.291] name <- added[[kk]] [12:36:20.291] NAME <- NAMES[[kk]] [12:36:20.291] if (name != NAME && is.element(NAME, old_names)) [12:36:20.291] next [12:36:20.291] args[[name]] <- "" [12:36:20.291] } [12:36:20.291] NAMES <- toupper(removed) [12:36:20.291] for (kk in seq_along(NAMES)) { [12:36:20.291] name <- removed[[kk]] [12:36:20.291] NAME <- NAMES[[kk]] [12:36:20.291] if (name != NAME && is.element(NAME, old_names)) [12:36:20.291] next [12:36:20.291] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:20.291] } [12:36:20.291] if (length(args) > 0) [12:36:20.291] base::do.call(base::Sys.setenv, args = args) [12:36:20.291] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [12:36:20.291] } [12:36:20.291] else { [12:36:20.291] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [12:36:20.291] } [12:36:20.291] { [12:36:20.291] if (base::length(...future.futureOptionsAdded) > [12:36:20.291] 0L) { [12:36:20.291] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [12:36:20.291] base::names(opts) <- ...future.futureOptionsAdded [12:36:20.291] base::options(opts) [12:36:20.291] } [12:36:20.291] { [12:36:20.291] NULL [12:36:20.291] options(future.plan = NULL) [12:36:20.291] if (is.na(NA_character_)) [12:36:20.291] Sys.unsetenv("R_FUTURE_PLAN") [12:36:20.291] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [12:36:20.291] future::plan(...future.strategy.old, .cleanup = FALSE, [12:36:20.291] .init = FALSE) [12:36:20.291] } [12:36:20.291] } [12:36:20.291] } [12:36:20.291] }) [12:36:20.291] if (TRUE) { [12:36:20.291] base::sink(type = "output", split = FALSE) [12:36:20.291] if (TRUE) { [12:36:20.291] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [12:36:20.291] } [12:36:20.291] else { [12:36:20.291] ...future.result["stdout"] <- base::list(NULL) [12:36:20.291] } [12:36:20.291] base::close(...future.stdout) [12:36:20.291] ...future.stdout <- NULL [12:36:20.291] } [12:36:20.291] ...future.result$conditions <- ...future.conditions [12:36:20.291] ...future.result$finished <- base::Sys.time() [12:36:20.291] ...future.result [12:36:20.291] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in 'tests/rng.R' failed. Complete output: > source("incl/start.R") Loading required package: future [12:36:20.770] plan(): Setting new future strategy stack: [12:36:20.772] List of future strategies: [12:36:20.772] 1. mirai_multisession: [12:36:20.772] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [12:36:20.772] - tweaked: FALSE [12:36:20.772] - call: future::plan(future.mirai::mirai_multisession) [12:36:20.792] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [12:36:20.792] < mirai [$data] > [12:36:20.800] getGlobalsAndPackages() ... [12:36:20.800] Not searching for globals [12:36:20.801] - globals: [0] <none> [12:36:20.801] getGlobalsAndPackages() ... DONE [12:36:20.802] getGlobalsAndPackages() ... [12:36:20.802] [12:36:20.802] - globals: [0] <none> [12:36:20.803] getGlobalsAndPackages() ... DONE [12:36:21.245] Packages needed by the future expression (n = 0): <none> [12:36:21.245] Packages needed by future strategies (n = 0): <none> [12:36:21.248] { [12:36:21.248] { [12:36:21.248] { [12:36:21.248] ...future.startTime <- base::Sys.time() [12:36:21.248] { [12:36:21.248] { [12:36:21.248] { [12:36:21.248] base::local({ [12:36:21.248] has_future <- base::requireNamespace("future", [12:36:21.248] quietly = TRUE) [12:36:21.248] if (has_future) { [12:36:21.248] ns <- base::getNamespace("future") [12:36:21.248] version <- ns[[".package"]][["version"]] [12:36:21.248] if (is.null(version)) [12:36:21.248] version <- utils::packageVersion("future") [12:36:21.248] } [12:36:21.248] else { [12:36:21.248] version <- NULL [12:36:21.248] } [12:36:21.248] if (!has_future || version < "1.8.0") { [12:36:21.248] info <- base::c(r_version = base::gsub("R version ", [12:36:21.248] "", base::R.version$version.string), [12:36:21.248] platform = base::sprintf("%s (%s-bit)", [12:36:21.248] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [12:36:21.248] os = base::paste(base::Sys.info()[base::c("sysname", [12:36:21.248] "release", "version")], collapse = " "), [12:36:21.248] hostname = base::Sys.info()[["nodename"]]) [12:36:21.248] info <- base::sprintf("%s: %s", base::names(info), [12:36:21.248] info) [12:36:21.248] info <- base::paste(info, collapse = "; ") [12:36:21.248] if (!has_future) { [12:36:21.248] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [12:36:21.248] info) [12:36:21.248] } [12:36:21.248] else { [12:36:21.248] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [12:36:21.248] info, version) [12:36:21.248] } [12:36:21.248] base::stop(msg) [12:36:21.248] } [12:36:21.248] }) [12:36:21.248] } [12:36:21.248] ...future.strategy.old <- future::plan("list") [12:36:21.248] options(future.plan = NULL) [12:36:21.248] Sys.unsetenv("R_FUTURE_PLAN") [12:36:21.248] future::plan("default", .cleanup = FALSE, .init = FALSE) [12:36:21.248] } [12:36:21.248] ...future.workdir <- getwd() [12:36:21.248] } [12:36:21.248] ...future.oldOptions <- base::as.list(base::.Options) [12:36:21.248] ...future.oldEnvVars <- base::Sys.getenv() [12:36:21.248] } [12:36:21.248] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [12:36:21.248] future.globals.maxSize = NULL, future.globals.method = NULL, [12:36:21.248] future.globals.onMissing = NULL, future.globals.onReference = NULL, [12:36:21.248] future.globals.resolve = NULL, future.resolve.recursive = NULL, [12:36:21.248] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [12:36:21.248] future.stdout.windows.reencode = NULL, width = 80L) [12:36:21.248] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [12:36:21.248] base::names(...future.oldOptions)) [12:36:21.248] } [12:36:21.248] if (FALSE) { [12:36:21.248] } [12:36:21.248] else { [12:36:21.248] if (TRUE) { [12:36:21.248] ...future.stdout <- base::rawConnection(base::raw(0L), [12:36:21.248] open = "w") [12:36:21.248] } [12:36:21.248] else { [12:36:21.248] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [12:36:21.248] windows = "NUL", "/dev/null"), open = "w") [12:36:21.248] } [12:36:21.248] base::sink(...future.stdout, type = "output", split = FALSE) [12:36:21.248] base::on.exit(if (!base::is.null(...future.stdout)) { [12:36:21.248] base::sink(type = "output", split = FALSE) [12:36:21.248] base::close(...future.stdout) [12:36:21.248] }, add = TRUE) [12:36:21.248] } [12:36:21.248] ...future.frame <- base::sys.nframe() [12:36:21.248] ...future.conditions <- base::list() [12:36:21.248] ...future.rng <- base::globalenv()$.Random.seed [12:36:21.248] if (FALSE) { [12:36:21.248] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [12:36:21.248] "...future.value", "...future.globalenv.names", ".Random.seed") [12:36:21.248] } [12:36:21.248] ...future.result <- base::tryCatch({ [12:36:21.248] base::withCallingHandlers({ [12:36:21.248] ...future.value <- base::withVisible(base::local(NA)) [12:36:21.248] future::FutureResult(value = ...future.value$value, [12:36:21.248] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [12:36:21.248] ...future.rng), globalenv = if (FALSE) [12:36:21.248] list(added = base::setdiff(base::names(base::.GlobalEnv), [12:36:21.248] ...future.globalenv.names)) [12:36:21.248] else NULL, started = ...future.startTime, version = "1.8") [12:36:21.248] }, condition = base::local({ [12:36:21.248] c <- base::c [12:36:21.248] inherits <- base::inherits [12:36:21.248] invokeRestart <- base::invokeRestart [12:36:21.248] length <- base::length [12:36:21.248] list <- base::list [12:36:21.248] seq.int <- base::seq.int [12:36:21.248] signalCondition <- base::signalCondition [12:36:21.248] sys.calls <- base::sys.calls [12:36:21.248] `[[` <- base::`[[` [12:36:21.248] `+` <- base::`+` [12:36:21.248] `<<-` <- base::`<<-` [12:36:21.248] sysCalls <- function(calls = sys.calls(), from = 1L) { [12:36:21.248] calls[seq.int(from = from + 12L, to = length(calls) - [12:36:21.248] 3L)] [12:36:21.248] } [12:36:21.248] function(cond) { [12:36:21.248] is_error <- inherits(cond, "error") [12:36:21.248] ignore <- !is_error && !is.null(NULL) && inherits(cond, [12:36:21.248] NULL) [12:36:21.248] if (is_error) { [12:36:21.248] sessionInformation <- function() { [12:36:21.248] list(r = base::R.Version(), locale = base::Sys.getlocale(), [12:36:21.248] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [12:36:21.248] search = base::search(), system = base::Sys.info()) [12:36:21.248] } [12:36:21.248] ...future.conditions[[length(...future.conditions) + [12:36:21.248] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [12:36:21.248] cond$call), session = sessionInformation(), [12:36:21.248] timestamp = base::Sys.time(), signaled = 0L) [12:36:21.248] signalCondition(cond) [12:36:21.248] } [12:36:21.248] else if (!ignore && TRUE && inherits(cond, "condition")) { [12:36:21.248] signal <- FALSE && inherits(cond, character(0)) [12:36:21.248] ...future.conditions[[length(...future.conditions) + [12:36:21.248] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [12:36:21.248] if (FALSE && !signal) { [12:36:21.248] muffleCondition <- function (cond, pattern = "^muffle") [12:36:21.248] { [12:36:21.248] inherits <- base::inherits [12:36:21.248] invokeRestart <- base::invokeRestart [12:36:21.248] is.null <- base::is.null [12:36:21.248] muffled <- FALSE [12:36:21.248] if (inherits(cond, "message")) { [12:36:21.248] muffled <- grepl(pattern, "muffleMessage") [12:36:21.248] if (muffled) [12:36:21.248] invokeRestart("muffleMessage") [12:36:21.248] } [12:36:21.248] else if (inherits(cond, "warning")) { [12:36:21.248] muffled <- grepl(pattern, "muffleWarning") [12:36:21.248] if (muffled) [12:36:21.248] invokeRestart("muffleWarning") [12:36:21.248] } [12:36:21.248] else if (inherits(cond, "condition")) { [12:36:21.248] if (!is.null(pattern)) { [12:36:21.248] computeRestarts <- base::computeRestarts [12:36:21.248] grepl <- base::grepl [12:36:21.248] restarts <- computeRestarts(cond) [12:36:21.248] for (restart in restarts) { [12:36:21.248] name <- restart$name [12:36:21.248] if (is.null(name)) [12:36:21.248] next [12:36:21.248] if (!grepl(pattern, name)) [12:36:21.248] next [12:36:21.248] invokeRestart(restart) [12:36:21.248] muffled <- TRUE [12:36:21.248] break [12:36:21.248] } [12:36:21.248] } [12:36:21.248] } [12:36:21.248] invisible(muffled) [12:36:21.248] } [12:36:21.248] muffleCondition(cond, pattern = "^muffle") [12:36:21.248] } [12:36:21.248] } [12:36:21.248] else { [12:36:21.248] if (TRUE) { [12:36:21.248] muffleCondition <- function (cond, pattern = "^muffle") [12:36:21.248] { [12:36:21.248] inherits <- base::inherits [12:36:21.248] invokeRestart <- base::invokeRestart [12:36:21.248] is.null <- base::is.null [12:36:21.248] muffled <- FALSE [12:36:21.248] if (inherits(cond, "message")) { [12:36:21.248] muffled <- grepl(pattern, "muffleMessage") [12:36:21.248] if (muffled) [12:36:21.248] invokeRestart("muffleMessage") [12:36:21.248] } [12:36:21.248] else if (inherits(cond, "warning")) { [12:36:21.248] muffled <- grepl(pattern, "muffleWarning") [12:36:21.248] if (muffled) [12:36:21.248] invokeRestart("muffleWarning") [12:36:21.248] } [12:36:21.248] else if (inherits(cond, "condition")) { [12:36:21.248] if (!is.null(pattern)) { [12:36:21.248] computeRestarts <- base::computeRestarts [12:36:21.248] grepl <- base::grepl [12:36:21.248] restarts <- computeRestarts(cond) [12:36:21.248] for (restart in restarts) { [12:36:21.248] name <- restart$name [12:36:21.248] if (is.null(name)) [12:36:21.248] next [12:36:21.248] if (!grepl(pattern, name)) [12:36:21.248] next [12:36:21.248] invokeRestart(restart) [12:36:21.248] muffled <- TRUE [12:36:21.248] break [12:36:21.248] } [12:36:21.248] } [12:36:21.248] } [12:36:21.248] invisible(muffled) [12:36:21.248] } [12:36:21.248] muffleCondition(cond, pattern = "^muffle") [12:36:21.248] } [12:36:21.248] } [12:36:21.248] } [12:36:21.248] })) [12:36:21.248] }, error = function(ex) { [12:36:21.248] base::structure(base::list(value = NULL, visible = NULL, [12:36:21.248] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [12:36:21.248] ...future.rng), started = ...future.startTime, [12:36:21.248] finished = Sys.time(), session_uuid = NA_character_, [12:36:21.248] version = "1.8"), class = "FutureResult") [12:36:21.248] }, finally = { [12:36:21.248] if (!identical(...future.workdir, getwd())) [12:36:21.248] setwd(...future.workdir) [12:36:21.248] { [12:36:21.248] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [12:36:21.248] ...future.oldOptions$nwarnings <- NULL [12:36:21.248] } [12:36:21.248] base::options(...future.oldOptions) [12:36:21.248] if (.Platform$OS.type == "windows") { [12:36:21.248] old_names <- names(...future.oldEnvVars) [12:36:21.248] envs <- base::Sys.getenv() [12:36:21.248] names <- names(envs) [12:36:21.248] common <- intersect(names, old_names) [12:36:21.248] added <- setdiff(names, old_names) [12:36:21.248] removed <- setdiff(old_names, names) [12:36:21.248] changed <- common[...future.oldEnvVars[common] != [12:36:21.248] envs[common]] [12:36:21.248] NAMES <- toupper(changed) [12:36:21.248] args <- list() [12:36:21.248] for (kk in seq_along(NAMES)) { [12:36:21.248] name <- changed[[kk]] [12:36:21.248] NAME <- NAMES[[kk]] [12:36:21.248] if (name != NAME && is.element(NAME, old_names)) [12:36:21.248] next [12:36:21.248] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:21.248] } [12:36:21.248] NAMES <- toupper(added) [12:36:21.248] for (kk in seq_along(NAMES)) { [12:36:21.248] name <- added[[kk]] [12:36:21.248] NAME <- NAMES[[kk]] [12:36:21.248] if (name != NAME && is.element(NAME, old_names)) [12:36:21.248] next [12:36:21.248] args[[name]] <- "" [12:36:21.248] } [12:36:21.248] NAMES <- toupper(removed) [12:36:21.248] for (kk in seq_along(NAMES)) { [12:36:21.248] name <- removed[[kk]] [12:36:21.248] NAME <- NAMES[[kk]] [12:36:21.248] if (name != NAME && is.element(NAME, old_names)) [12:36:21.248] next [12:36:21.248] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:21.248] } [12:36:21.248] if (length(args) > 0) [12:36:21.248] base::do.call(base::Sys.setenv, args = args) [12:36:21.248] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [12:36:21.248] } [12:36:21.248] else { [12:36:21.248] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [12:36:21.248] } [12:36:21.248] { [12:36:21.248] if (base::length(...future.futureOptionsAdded) > [12:36:21.248] 0L) { [12:36:21.248] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [12:36:21.248] base::names(opts) <- ...future.futureOptionsAdded [12:36:21.248] base::options(opts) [12:36:21.248] } [12:36:21.248] { [12:36:21.248] NULL [12:36:21.248] options(future.plan = NULL) [12:36:21.248] if (is.na(NA_character_)) [12:36:21.248] Sys.unsetenv("R_FUTURE_PLAN") [12:36:21.248] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [12:36:21.248] future::plan(...future.strategy.old, .cleanup = FALSE, [12:36:21.248] .init = FALSE) [12:36:21.248] } [12:36:21.248] } [12:36:21.248] } [12:36:21.248] }) [12:36:21.248] if (TRUE) { [12:36:21.248] base::sink(type = "output", split = FALSE) [12:36:21.248] if (TRUE) { [12:36:21.248] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [12:36:21.248] } [12:36:21.248] else { [12:36:21.248] ...future.result["stdout"] <- base::list(NULL) [12:36:21.248] } [12:36:21.248] base::close(...future.stdout) [12:36:21.248] ...future.stdout <- NULL [12:36:21.248] } [12:36:21.248] ...future.result$conditions <- ...future.conditions [12:36:21.248] ...future.result$finished <- base::Sys.time() [12:36:21.248] ...future.result [12:36:21.248] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in 'tests/stdout.R' failed. Complete output: > source("incl/start.R") Loading required package: future [12:36:21.812] plan(): Setting new future strategy stack: [12:36:21.814] List of future strategies: [12:36:21.814] 1. mirai_multisession: [12:36:21.814] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [12:36:21.814] - tweaked: FALSE [12:36:21.814] - call: future::plan(future.mirai::mirai_multisession) [12:36:21.835] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [12:36:21.836] < mirai [$data] > [12:36:21.843] getGlobalsAndPackages() ... [12:36:21.844] Not searching for globals [12:36:21.844] - globals: [0] <none> [12:36:21.844] getGlobalsAndPackages() ... DONE [12:36:21.845] getGlobalsAndPackages() ... [12:36:21.845] [12:36:21.846] - globals: [0] <none> [12:36:21.846] getGlobalsAndPackages() ... DONE [12:36:22.247] Packages needed by the future expression (n = 0): <none> [12:36:22.247] Packages needed by future strategies (n = 0): <none> [12:36:22.248] { [12:36:22.248] { [12:36:22.248] { [12:36:22.248] ...future.startTime <- base::Sys.time() [12:36:22.248] { [12:36:22.248] { [12:36:22.248] { [12:36:22.248] base::local({ [12:36:22.248] has_future <- base::requireNamespace("future", [12:36:22.248] quietly = TRUE) [12:36:22.248] if (has_future) { [12:36:22.248] ns <- base::getNamespace("future") [12:36:22.248] version <- ns[[".package"]][["version"]] [12:36:22.248] if (is.null(version)) [12:36:22.248] version <- utils::packageVersion("future") [12:36:22.248] } [12:36:22.248] else { [12:36:22.248] version <- NULL [12:36:22.248] } [12:36:22.248] if (!has_future || version < "1.8.0") { [12:36:22.248] info <- base::c(r_version = base::gsub("R version ", [12:36:22.248] "", base::R.version$version.string), [12:36:22.248] platform = base::sprintf("%s (%s-bit)", [12:36:22.248] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [12:36:22.248] os = base::paste(base::Sys.info()[base::c("sysname", [12:36:22.248] "release", "version")], collapse = " "), [12:36:22.248] hostname = base::Sys.info()[["nodename"]]) [12:36:22.248] info <- base::sprintf("%s: %s", base::names(info), [12:36:22.248] info) [12:36:22.248] info <- base::paste(info, collapse = "; ") [12:36:22.248] if (!has_future) { [12:36:22.248] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [12:36:22.248] info) [12:36:22.248] } [12:36:22.248] else { [12:36:22.248] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [12:36:22.248] info, version) [12:36:22.248] } [12:36:22.248] base::stop(msg) [12:36:22.248] } [12:36:22.248] }) [12:36:22.248] } [12:36:22.248] ...future.strategy.old <- future::plan("list") [12:36:22.248] options(future.plan = NULL) [12:36:22.248] Sys.unsetenv("R_FUTURE_PLAN") [12:36:22.248] future::plan("default", .cleanup = FALSE, .init = FALSE) [12:36:22.248] } [12:36:22.248] ...future.workdir <- getwd() [12:36:22.248] } [12:36:22.248] ...future.oldOptions <- base::as.list(base::.Options) [12:36:22.248] ...future.oldEnvVars <- base::Sys.getenv() [12:36:22.248] } [12:36:22.248] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [12:36:22.248] future.globals.maxSize = NULL, future.globals.method = NULL, [12:36:22.248] future.globals.onMissing = NULL, future.globals.onReference = NULL, [12:36:22.248] future.globals.resolve = NULL, future.resolve.recursive = NULL, [12:36:22.248] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [12:36:22.248] future.stdout.windows.reencode = NULL, width = 80L) [12:36:22.248] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [12:36:22.248] base::names(...future.oldOptions)) [12:36:22.248] } [12:36:22.248] if (FALSE) { [12:36:22.248] } [12:36:22.248] else { [12:36:22.248] if (TRUE) { [12:36:22.248] ...future.stdout <- base::rawConnection(base::raw(0L), [12:36:22.248] open = "w") [12:36:22.248] } [12:36:22.248] else { [12:36:22.248] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [12:36:22.248] windows = "NUL", "/dev/null"), open = "w") [12:36:22.248] } [12:36:22.248] base::sink(...future.stdout, type = "output", split = FALSE) [12:36:22.248] base::on.exit(if (!base::is.null(...future.stdout)) { [12:36:22.248] base::sink(type = "output", split = FALSE) [12:36:22.248] base::close(...future.stdout) [12:36:22.248] }, add = TRUE) [12:36:22.248] } [12:36:22.248] ...future.frame <- base::sys.nframe() [12:36:22.248] ...future.conditions <- base::list() [12:36:22.248] ...future.rng <- base::globalenv()$.Random.seed [12:36:22.248] if (FALSE) { [12:36:22.248] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [12:36:22.248] "...future.value", "...future.globalenv.names", ".Random.seed") [12:36:22.248] } [12:36:22.248] ...future.result <- base::tryCatch({ [12:36:22.248] base::withCallingHandlers({ [12:36:22.248] ...future.value <- base::withVisible(base::local(NA)) [12:36:22.248] future::FutureResult(value = ...future.value$value, [12:36:22.248] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [12:36:22.248] ...future.rng), globalenv = if (FALSE) [12:36:22.248] list(added = base::setdiff(base::names(base::.GlobalEnv), [12:36:22.248] ...future.globalenv.names)) [12:36:22.248] else NULL, started = ...future.startTime, version = "1.8") [12:36:22.248] }, condition = base::local({ [12:36:22.248] c <- base::c [12:36:22.248] inherits <- base::inherits [12:36:22.248] invokeRestart <- base::invokeRestart [12:36:22.248] length <- base::length [12:36:22.248] list <- base::list [12:36:22.248] seq.int <- base::seq.int [12:36:22.248] signalCondition <- base::signalCondition [12:36:22.248] sys.calls <- base::sys.calls [12:36:22.248] `[[` <- base::`[[` [12:36:22.248] `+` <- base::`+` [12:36:22.248] `<<-` <- base::`<<-` [12:36:22.248] sysCalls <- function(calls = sys.calls(), from = 1L) { [12:36:22.248] calls[seq.int(from = from + 12L, to = length(calls) - [12:36:22.248] 3L)] [12:36:22.248] } [12:36:22.248] function(cond) { [12:36:22.248] is_error <- inherits(cond, "error") [12:36:22.248] ignore <- !is_error && !is.null(NULL) && inherits(cond, [12:36:22.248] NULL) [12:36:22.248] if (is_error) { [12:36:22.248] sessionInformation <- function() { [12:36:22.248] list(r = base::R.Version(), locale = base::Sys.getlocale(), [12:36:22.248] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [12:36:22.248] search = base::search(), system = base::Sys.info()) [12:36:22.248] } [12:36:22.248] ...future.conditions[[length(...future.conditions) + [12:36:22.248] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [12:36:22.248] cond$call), session = sessionInformation(), [12:36:22.248] timestamp = base::Sys.time(), signaled = 0L) [12:36:22.248] signalCondition(cond) [12:36:22.248] } [12:36:22.248] else if (!ignore && TRUE && inherits(cond, "condition")) { [12:36:22.248] signal <- FALSE && inherits(cond, character(0)) [12:36:22.248] ...future.conditions[[length(...future.conditions) + [12:36:22.248] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [12:36:22.248] if (FALSE && !signal) { [12:36:22.248] muffleCondition <- function (cond, pattern = "^muffle") [12:36:22.248] { [12:36:22.248] inherits <- base::inherits [12:36:22.248] invokeRestart <- base::invokeRestart [12:36:22.248] is.null <- base::is.null [12:36:22.248] muffled <- FALSE [12:36:22.248] if (inherits(cond, "message")) { [12:36:22.248] muffled <- grepl(pattern, "muffleMessage") [12:36:22.248] if (muffled) [12:36:22.248] invokeRestart("muffleMessage") [12:36:22.248] } [12:36:22.248] else if (inherits(cond, "warning")) { [12:36:22.248] muffled <- grepl(pattern, "muffleWarning") [12:36:22.248] if (muffled) [12:36:22.248] invokeRestart("muffleWarning") [12:36:22.248] } [12:36:22.248] else if (inherits(cond, "condition")) { [12:36:22.248] if (!is.null(pattern)) { [12:36:22.248] computeRestarts <- base::computeRestarts [12:36:22.248] grepl <- base::grepl [12:36:22.248] restarts <- computeRestarts(cond) [12:36:22.248] for (restart in restarts) { [12:36:22.248] name <- restart$name [12:36:22.248] if (is.null(name)) [12:36:22.248] next [12:36:22.248] if (!grepl(pattern, name)) [12:36:22.248] next [12:36:22.248] invokeRestart(restart) [12:36:22.248] muffled <- TRUE [12:36:22.248] break [12:36:22.248] } [12:36:22.248] } [12:36:22.248] } [12:36:22.248] invisible(muffled) [12:36:22.248] } [12:36:22.248] muffleCondition(cond, pattern = "^muffle") [12:36:22.248] } [12:36:22.248] } [12:36:22.248] else { [12:36:22.248] if (TRUE) { [12:36:22.248] muffleCondition <- function (cond, pattern = "^muffle") [12:36:22.248] { [12:36:22.248] inherits <- base::inherits [12:36:22.248] invokeRestart <- base::invokeRestart [12:36:22.248] is.null <- base::is.null [12:36:22.248] muffled <- FALSE [12:36:22.248] if (inherits(cond, "message")) { [12:36:22.248] muffled <- grepl(pattern, "muffleMessage") [12:36:22.248] if (muffled) [12:36:22.248] invokeRestart("muffleMessage") [12:36:22.248] } [12:36:22.248] else if (inherits(cond, "warning")) { [12:36:22.248] muffled <- grepl(pattern, "muffleWarning") [12:36:22.248] if (muffled) [12:36:22.248] invokeRestart("muffleWarning") [12:36:22.248] } [12:36:22.248] else if (inherits(cond, "condition")) { [12:36:22.248] if (!is.null(pattern)) { [12:36:22.248] computeRestarts <- base::computeRestarts [12:36:22.248] grepl <- base::grepl [12:36:22.248] restarts <- computeRestarts(cond) [12:36:22.248] for (restart in restarts) { [12:36:22.248] name <- restart$name [12:36:22.248] if (is.null(name)) [12:36:22.248] next [12:36:22.248] if (!grepl(pattern, name)) [12:36:22.248] next [12:36:22.248] invokeRestart(restart) [12:36:22.248] muffled <- TRUE [12:36:22.248] break [12:36:22.248] } [12:36:22.248] } [12:36:22.248] } [12:36:22.248] invisible(muffled) [12:36:22.248] } [12:36:22.248] muffleCondition(cond, pattern = "^muffle") [12:36:22.248] } [12:36:22.248] } [12:36:22.248] } [12:36:22.248] })) [12:36:22.248] }, error = function(ex) { [12:36:22.248] base::structure(base::list(value = NULL, visible = NULL, [12:36:22.248] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [12:36:22.248] ...future.rng), started = ...future.startTime, [12:36:22.248] finished = Sys.time(), session_uuid = NA_character_, [12:36:22.248] version = "1.8"), class = "FutureResult") [12:36:22.248] }, finally = { [12:36:22.248] if (!identical(...future.workdir, getwd())) [12:36:22.248] setwd(...future.workdir) [12:36:22.248] { [12:36:22.248] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [12:36:22.248] ...future.oldOptions$nwarnings <- NULL [12:36:22.248] } [12:36:22.248] base::options(...future.oldOptions) [12:36:22.248] if (.Platform$OS.type == "windows") { [12:36:22.248] old_names <- names(...future.oldEnvVars) [12:36:22.248] envs <- base::Sys.getenv() [12:36:22.248] names <- names(envs) [12:36:22.248] common <- intersect(names, old_names) [12:36:22.248] added <- setdiff(names, old_names) [12:36:22.248] removed <- setdiff(old_names, names) [12:36:22.248] changed <- common[...future.oldEnvVars[common] != [12:36:22.248] envs[common]] [12:36:22.248] NAMES <- toupper(changed) [12:36:22.248] args <- list() [12:36:22.248] for (kk in seq_along(NAMES)) { [12:36:22.248] name <- changed[[kk]] [12:36:22.248] NAME <- NAMES[[kk]] [12:36:22.248] if (name != NAME && is.element(NAME, old_names)) [12:36:22.248] next [12:36:22.248] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:22.248] } [12:36:22.248] NAMES <- toupper(added) [12:36:22.248] for (kk in seq_along(NAMES)) { [12:36:22.248] name <- added[[kk]] [12:36:22.248] NAME <- NAMES[[kk]] [12:36:22.248] if (name != NAME && is.element(NAME, old_names)) [12:36:22.248] next [12:36:22.248] args[[name]] <- "" [12:36:22.248] } [12:36:22.248] NAMES <- toupper(removed) [12:36:22.248] for (kk in seq_along(NAMES)) { [12:36:22.248] name <- removed[[kk]] [12:36:22.248] NAME <- NAMES[[kk]] [12:36:22.248] if (name != NAME && is.element(NAME, old_names)) [12:36:22.248] next [12:36:22.248] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:22.248] } [12:36:22.248] if (length(args) > 0) [12:36:22.248] base::do.call(base::Sys.setenv, args = args) [12:36:22.248] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [12:36:22.248] } [12:36:22.248] else { [12:36:22.248] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [12:36:22.248] } [12:36:22.248] { [12:36:22.248] if (base::length(...future.futureOptionsAdded) > [12:36:22.248] 0L) { [12:36:22.248] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [12:36:22.248] base::names(opts) <- ...future.futureOptionsAdded [12:36:22.248] base::options(opts) [12:36:22.248] } [12:36:22.248] { [12:36:22.248] NULL [12:36:22.248] options(future.plan = NULL) [12:36:22.248] if (is.na(NA_character_)) [12:36:22.248] Sys.unsetenv("R_FUTURE_PLAN") [12:36:22.248] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [12:36:22.248] future::plan(...future.strategy.old, .cleanup = FALSE, [12:36:22.248] .init = FALSE) [12:36:22.248] } [12:36:22.248] } [12:36:22.248] } [12:36:22.248] }) [12:36:22.248] if (TRUE) { [12:36:22.248] base::sink(type = "output", split = FALSE) [12:36:22.248] if (TRUE) { [12:36:22.248] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [12:36:22.248] } [12:36:22.248] else { [12:36:22.248] ...future.result["stdout"] <- base::list(NULL) [12:36:22.248] } [12:36:22.248] base::close(...future.stdout) [12:36:22.248] ...future.stdout <- NULL [12:36:22.248] } [12:36:22.248] ...future.result$conditions <- ...future.conditions [12:36:22.248] ...future.result$finished <- base::Sys.time() [12:36:22.248] ...future.result [12:36:22.248] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Running the tests in 'tests/zzz,future_lapply.R' failed. Complete output: > ## This requires mirai (>= 0.13.2) > if (packageVersion("mirai") >= "0.13.2") { + + source("incl/start.R") + library("listenv") + + if (requireNamespace("future.apply", quietly = TRUE)) { + future_lapply <- future.apply::future_lapply + + strategies <- c("mirai_multisession") + + message("*** future_lapply() ...") + + message("- future_lapply(x, FUN = vector, ...) ...") + + x <- list(a = "integer", c = "character", c = "list") + str(list(x = x)) + + y0 <- lapply(x, FUN = vector, length = 2L) + str(list(y0 = y0)) + + for (strategy in strategies) { + mprintf("- plan('%s') ...", strategy) + plan(strategy) + stopifnot(nbrOfWorkers() < Inf) + + for (scheduling in list(FALSE, TRUE)) { + y <- future_lapply(x, FUN = vector, length = 2L, + future.scheduling = scheduling) + str(list(y = y)) + stopifnot(identical(y, y0)) + } + } + + + message("- future_lapply(x, FUN = base::vector, ...) ...") + + x <- list(a = "integer", c = "character", c = "list") + str(list(x = x)) + + y0 <- lapply(x, FUN = base::vector, length = 2L) + str(list(y0 = y0)) + + for (strategy in strategies) { + mprintf("- plan('%s') ...", strategy) + plan(strategy) + stopifnot(nbrOfWorkers() < Inf) + + for (scheduling in list(FALSE, TRUE)) { + y <- future_lapply(x, FUN = base::vector, length = 2L, + future.scheduling = scheduling) + str(list(y = y)) + stopifnot(identical(y, y0)) + } + } + + message("- future_lapply(x, FUN = future:::hpaste, ...) ...") + + x <- list(a = c("hello", b = 1:100)) + str(list(x = x)) + + y0 <- lapply(x, FUN = future:::hpaste, collapse = "; ", maxHead = 3L) + str(list(y0 = y0)) + + for (strategy in strategies) { + mprintf("- plan('%s') ...", strategy) + plan(strategy) + stopifnot(nbrOfWorkers() < Inf) + + for (scheduling in list(FALSE, TRUE)) { + y <- future_lapply(x, FUN = future:::hpaste, collapse = "; ", + maxHead = 3L, future.scheduling = scheduling) + str(list(y = y)) + stopifnot(identical(y, y0)) + } + } + + + message("- future_lapply(x, FUN = listenv::listenv, ...) ...") + + x <- list() + + y <- listenv() + y$A <- 3L + x$a <- y + + y <- listenv() + y$A <- 3L + y$B <- c("hello", b = 1:100) + x$b <- y + + print(x) + + y0 <- lapply(x, FUN = listenv::mapping) + str(list(y0 = y0)) + + for (strategy in strategies) { + mprintf("- plan('%s') ...", strategy) + plan(strategy) + stopifnot(nbrOfWorkers() < Inf) + + for (scheduling in list(FALSE, TRUE)) { + y <- future_lapply(x, FUN = listenv::mapping, future.scheduling = scheduling) + str(list(y = y)) + stopifnot(identical(y, y0)) + } + } + + + message("- future_lapply(x, FUN, ...) for large length(x) ...") + a <- 3.14 + x <- 1:1e6 + + y <- future_lapply(x, FUN = function(z) sqrt(z + a)) + y <- unlist(y, use.names = FALSE) + + stopifnot(all.equal(y, sqrt(x + a))) + + + message("- future_lapply() with global in non-attached package ...") + library("tools") + my_ext <- function(x) file_ext(x) + y_truth <- lapply("abc.txt", FUN = my_ext) + + for (strategy in strategies) { + plan(strategy) + y <- future_lapply("abc.txt", FUN = my_ext) + stopifnot(identical(y, y_truth)) + } + + message("*** future_lapply() ... DONE") + } + + source("incl/end.R") + + } Loading required package: future [12:36:22.797] plan(): Setting new future strategy stack: [12:36:22.798] List of future strategies: [12:36:22.798] 1. mirai_multisession: [12:36:22.798] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [12:36:22.798] - tweaked: FALSE [12:36:22.798] - call: future::plan(future.mirai::mirai_multisession) [12:36:22.816] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [12:36:22.816] < mirai [$data] > [12:36:22.823] getGlobalsAndPackages() ... [12:36:22.823] Not searching for globals [12:36:22.824] - globals: [0] <none> [12:36:22.824] getGlobalsAndPackages() ... DONE [12:36:22.825] getGlobalsAndPackages() ... [12:36:22.825] [12:36:22.825] - globals: [0] <none> [12:36:22.825] getGlobalsAndPackages() ... DONE [12:36:23.238] Packages needed by the future expression (n = 0): <none> [12:36:23.238] Packages needed by future strategies (n = 0): <none> [12:36:23.240] { [12:36:23.240] { [12:36:23.240] { [12:36:23.240] ...future.startTime <- base::Sys.time() [12:36:23.240] { [12:36:23.240] { [12:36:23.240] { [12:36:23.240] base::local({ [12:36:23.240] has_future <- base::requireNamespace("future", [12:36:23.240] quietly = TRUE) [12:36:23.240] if (has_future) { [12:36:23.240] ns <- base::getNamespace("future") [12:36:23.240] version <- ns[[".package"]][["version"]] [12:36:23.240] if (is.null(version)) [12:36:23.240] version <- utils::packageVersion("future") [12:36:23.240] } [12:36:23.240] else { [12:36:23.240] version <- NULL [12:36:23.240] } [12:36:23.240] if (!has_future || version < "1.8.0") { [12:36:23.240] info <- base::c(r_version = base::gsub("R version ", [12:36:23.240] "", base::R.version$version.string), [12:36:23.240] platform = base::sprintf("%s (%s-bit)", [12:36:23.240] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [12:36:23.240] os = base::paste(base::Sys.info()[base::c("sysname", [12:36:23.240] "release", "version")], collapse = " "), [12:36:23.240] hostname = base::Sys.info()[["nodename"]]) [12:36:23.240] info <- base::sprintf("%s: %s", base::names(info), [12:36:23.240] info) [12:36:23.240] info <- base::paste(info, collapse = "; ") [12:36:23.240] if (!has_future) { [12:36:23.240] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [12:36:23.240] info) [12:36:23.240] } [12:36:23.240] else { [12:36:23.240] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [12:36:23.240] info, version) [12:36:23.240] } [12:36:23.240] base::stop(msg) [12:36:23.240] } [12:36:23.240] }) [12:36:23.240] } [12:36:23.240] ...future.strategy.old <- future::plan("list") [12:36:23.240] options(future.plan = NULL) [12:36:23.240] Sys.unsetenv("R_FUTURE_PLAN") [12:36:23.240] future::plan("default", .cleanup = FALSE, .init = FALSE) [12:36:23.240] } [12:36:23.240] ...future.workdir <- getwd() [12:36:23.240] } [12:36:23.240] ...future.oldOptions <- base::as.list(base::.Options) [12:36:23.240] ...future.oldEnvVars <- base::Sys.getenv() [12:36:23.240] } [12:36:23.240] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [12:36:23.240] future.globals.maxSize = NULL, future.globals.method = NULL, [12:36:23.240] future.globals.onMissing = NULL, future.globals.onReference = NULL, [12:36:23.240] future.globals.resolve = NULL, future.resolve.recursive = NULL, [12:36:23.240] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [12:36:23.240] future.stdout.windows.reencode = NULL, width = 80L) [12:36:23.240] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [12:36:23.240] base::names(...future.oldOptions)) [12:36:23.240] } [12:36:23.240] if (FALSE) { [12:36:23.240] } [12:36:23.240] else { [12:36:23.240] if (TRUE) { [12:36:23.240] ...future.stdout <- base::rawConnection(base::raw(0L), [12:36:23.240] open = "w") [12:36:23.240] } [12:36:23.240] else { [12:36:23.240] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [12:36:23.240] windows = "NUL", "/dev/null"), open = "w") [12:36:23.240] } [12:36:23.240] base::sink(...future.stdout, type = "output", split = FALSE) [12:36:23.240] base::on.exit(if (!base::is.null(...future.stdout)) { [12:36:23.240] base::sink(type = "output", split = FALSE) [12:36:23.240] base::close(...future.stdout) [12:36:23.240] }, add = TRUE) [12:36:23.240] } [12:36:23.240] ...future.frame <- base::sys.nframe() [12:36:23.240] ...future.conditions <- base::list() [12:36:23.240] ...future.rng <- base::globalenv()$.Random.seed [12:36:23.240] if (FALSE) { [12:36:23.240] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [12:36:23.240] "...future.value", "...future.globalenv.names", ".Random.seed") [12:36:23.240] } [12:36:23.240] ...future.result <- base::tryCatch({ [12:36:23.240] base::withCallingHandlers({ [12:36:23.240] ...future.value <- base::withVisible(base::local(NA)) [12:36:23.240] future::FutureResult(value = ...future.value$value, [12:36:23.240] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [12:36:23.240] ...future.rng), globalenv = if (FALSE) [12:36:23.240] list(added = base::setdiff(base::names(base::.GlobalEnv), [12:36:23.240] ...future.globalenv.names)) [12:36:23.240] else NULL, started = ...future.startTime, version = "1.8") [12:36:23.240] }, condition = base::local({ [12:36:23.240] c <- base::c [12:36:23.240] inherits <- base::inherits [12:36:23.240] invokeRestart <- base::invokeRestart [12:36:23.240] length <- base::length [12:36:23.240] list <- base::list [12:36:23.240] seq.int <- base::seq.int [12:36:23.240] signalCondition <- base::signalCondition [12:36:23.240] sys.calls <- base::sys.calls [12:36:23.240] `[[` <- base::`[[` [12:36:23.240] `+` <- base::`+` [12:36:23.240] `<<-` <- base::`<<-` [12:36:23.240] sysCalls <- function(calls = sys.calls(), from = 1L) { [12:36:23.240] calls[seq.int(from = from + 12L, to = length(calls) - [12:36:23.240] 3L)] [12:36:23.240] } [12:36:23.240] function(cond) { [12:36:23.240] is_error <- inherits(cond, "error") [12:36:23.240] ignore <- !is_error && !is.null(NULL) && inherits(cond, [12:36:23.240] NULL) [12:36:23.240] if (is_error) { [12:36:23.240] sessionInformation <- function() { [12:36:23.240] list(r = base::R.Version(), locale = base::Sys.getlocale(), [12:36:23.240] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [12:36:23.240] search = base::search(), system = base::Sys.info()) [12:36:23.240] } [12:36:23.240] ...future.conditions[[length(...future.conditions) + [12:36:23.240] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [12:36:23.240] cond$call), session = sessionInformation(), [12:36:23.240] timestamp = base::Sys.time(), signaled = 0L) [12:36:23.240] signalCondition(cond) [12:36:23.240] } [12:36:23.240] else if (!ignore && TRUE && inherits(cond, "condition")) { [12:36:23.240] signal <- FALSE && inherits(cond, character(0)) [12:36:23.240] ...future.conditions[[length(...future.conditions) + [12:36:23.240] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [12:36:23.240] if (FALSE && !signal) { [12:36:23.240] muffleCondition <- function (cond, pattern = "^muffle") [12:36:23.240] { [12:36:23.240] inherits <- base::inherits [12:36:23.240] invokeRestart <- base::invokeRestart [12:36:23.240] is.null <- base::is.null [12:36:23.240] muffled <- FALSE [12:36:23.240] if (inherits(cond, "message")) { [12:36:23.240] muffled <- grepl(pattern, "muffleMessage") [12:36:23.240] if (muffled) [12:36:23.240] invokeRestart("muffleMessage") [12:36:23.240] } [12:36:23.240] else if (inherits(cond, "warning")) { [12:36:23.240] muffled <- grepl(pattern, "muffleWarning") [12:36:23.240] if (muffled) [12:36:23.240] invokeRestart("muffleWarning") [12:36:23.240] } [12:36:23.240] else if (inherits(cond, "condition")) { [12:36:23.240] if (!is.null(pattern)) { [12:36:23.240] computeRestarts <- base::computeRestarts [12:36:23.240] grepl <- base::grepl [12:36:23.240] restarts <- computeRestarts(cond) [12:36:23.240] for (restart in restarts) { [12:36:23.240] name <- restart$name [12:36:23.240] if (is.null(name)) [12:36:23.240] next [12:36:23.240] if (!grepl(pattern, name)) [12:36:23.240] next [12:36:23.240] invokeRestart(restart) [12:36:23.240] muffled <- TRUE [12:36:23.240] break [12:36:23.240] } [12:36:23.240] } [12:36:23.240] } [12:36:23.240] invisible(muffled) [12:36:23.240] } [12:36:23.240] muffleCondition(cond, pattern = "^muffle") [12:36:23.240] } [12:36:23.240] } [12:36:23.240] else { [12:36:23.240] if (TRUE) { [12:36:23.240] muffleCondition <- function (cond, pattern = "^muffle") [12:36:23.240] { [12:36:23.240] inherits <- base::inherits [12:36:23.240] invokeRestart <- base::invokeRestart [12:36:23.240] is.null <- base::is.null [12:36:23.240] muffled <- FALSE [12:36:23.240] if (inherits(cond, "message")) { [12:36:23.240] muffled <- grepl(pattern, "muffleMessage") [12:36:23.240] if (muffled) [12:36:23.240] invokeRestart("muffleMessage") [12:36:23.240] } [12:36:23.240] else if (inherits(cond, "warning")) { [12:36:23.240] muffled <- grepl(pattern, "muffleWarning") [12:36:23.240] if (muffled) [12:36:23.240] invokeRestart("muffleWarning") [12:36:23.240] } [12:36:23.240] else if (inherits(cond, "condition")) { [12:36:23.240] if (!is.null(pattern)) { [12:36:23.240] computeRestarts <- base::computeRestarts [12:36:23.240] grepl <- base::grepl [12:36:23.240] restarts <- computeRestarts(cond) [12:36:23.240] for (restart in restarts) { [12:36:23.240] name <- restart$name [12:36:23.240] if (is.null(name)) [12:36:23.240] next [12:36:23.240] if (!grepl(pattern, name)) [12:36:23.240] next [12:36:23.240] invokeRestart(restart) [12:36:23.240] muffled <- TRUE [12:36:23.240] break [12:36:23.240] } [12:36:23.240] } [12:36:23.240] } [12:36:23.240] invisible(muffled) [12:36:23.240] } [12:36:23.240] muffleCondition(cond, pattern = "^muffle") [12:36:23.240] } [12:36:23.240] } [12:36:23.240] } [12:36:23.240] })) [12:36:23.240] }, error = function(ex) { [12:36:23.240] base::structure(base::list(value = NULL, visible = NULL, [12:36:23.240] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [12:36:23.240] ...future.rng), started = ...future.startTime, [12:36:23.240] finished = Sys.time(), session_uuid = NA_character_, [12:36:23.240] version = "1.8"), class = "FutureResult") [12:36:23.240] }, finally = { [12:36:23.240] if (!identical(...future.workdir, getwd())) [12:36:23.240] setwd(...future.workdir) [12:36:23.240] { [12:36:23.240] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [12:36:23.240] ...future.oldOptions$nwarnings <- NULL [12:36:23.240] } [12:36:23.240] base::options(...future.oldOptions) [12:36:23.240] if (.Platform$OS.type == "windows") { [12:36:23.240] old_names <- names(...future.oldEnvVars) [12:36:23.240] envs <- base::Sys.getenv() [12:36:23.240] names <- names(envs) [12:36:23.240] common <- intersect(names, old_names) [12:36:23.240] added <- setdiff(names, old_names) [12:36:23.240] removed <- setdiff(old_names, names) [12:36:23.240] changed <- common[...future.oldEnvVars[common] != [12:36:23.240] envs[common]] [12:36:23.240] NAMES <- toupper(changed) [12:36:23.240] args <- list() [12:36:23.240] for (kk in seq_along(NAMES)) { [12:36:23.240] name <- changed[[kk]] [12:36:23.240] NAME <- NAMES[[kk]] [12:36:23.240] if (name != NAME && is.element(NAME, old_names)) [12:36:23.240] next [12:36:23.240] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:23.240] } [12:36:23.240] NAMES <- toupper(added) [12:36:23.240] for (kk in seq_along(NAMES)) { [12:36:23.240] name <- added[[kk]] [12:36:23.240] NAME <- NAMES[[kk]] [12:36:23.240] if (name != NAME && is.element(NAME, old_names)) [12:36:23.240] next [12:36:23.240] args[[name]] <- "" [12:36:23.240] } [12:36:23.240] NAMES <- toupper(removed) [12:36:23.240] for (kk in seq_along(NAMES)) { [12:36:23.240] name <- removed[[kk]] [12:36:23.240] NAME <- NAMES[[kk]] [12:36:23.240] if (name != NAME && is.element(NAME, old_names)) [12:36:23.240] next [12:36:23.240] args[[name]] <- ...future.oldEnvVars[[name]] [12:36:23.240] } [12:36:23.240] if (length(args) > 0) [12:36:23.240] base::do.call(base::Sys.setenv, args = args) [12:36:23.240] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [12:36:23.240] } [12:36:23.240] else { [12:36:23.240] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [12:36:23.240] } [12:36:23.240] { [12:36:23.240] if (base::length(...future.futureOptionsAdded) > [12:36:23.240] 0L) { [12:36:23.240] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [12:36:23.240] base::names(opts) <- ...future.futureOptionsAdded [12:36:23.240] base::options(opts) [12:36:23.240] } [12:36:23.240] { [12:36:23.240] NULL [12:36:23.240] options(future.plan = NULL) [12:36:23.240] if (is.na(NA_character_)) [12:36:23.240] Sys.unsetenv("R_FUTURE_PLAN") [12:36:23.240] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [12:36:23.240] future::plan(...future.strategy.old, .cleanup = FALSE, [12:36:23.240] .init = FALSE) [12:36:23.240] } [12:36:23.240] } [12:36:23.240] } [12:36:23.240] }) [12:36:23.240] if (TRUE) { [12:36:23.240] base::sink(type = "output", split = FALSE) [12:36:23.240] if (TRUE) { [12:36:23.240] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [12:36:23.240] } [12:36:23.240] else { [12:36:23.240] ...future.result["stdout"] <- base::list(NULL) [12:36:23.240] } [12:36:23.240] base::close(...future.stdout) [12:36:23.240] ...future.stdout <- NULL [12:36:23.240] } [12:36:23.240] ...future.result$conditions <- ...future.conditions [12:36:23.240] ...future.result$finished <- base::Sys.time() [12:36:23.240] ...future.result [12:36:23.240] } Error in request(.context(envir[["sock"]]), data = data, send_mode = 3L, : R_ExternalPtrTag: argument of type NILSXP is not an external pointer Calls: source ... run.MiraiFuture -> do.call -> <Anonymous> -> request Execution halted Flavor: r-devel-windows-x86_64

Version: 0.2.1
Check: tests
Result: ERROR Running ‘demo.R’ [1s/3s] Running ‘dotdotdot.R’ [1s/4s] Running ‘future,labels.R’ [1s/3s] Running ‘future,lazy.R’ [1s/3s] Running ‘future.tests,mirai_cluster.R’ [8s/24s] Running ‘future.tests-mirai_multisession.R’ [9s/29s] Running ‘globals,formulas.R’ [1s/4s] Running ‘globals,manual.R’ [1s/3s] Running ‘globals,nested.R’ [1s/2s] Running ‘globals,subassignment.R’ [1s/4s] Running ‘globals,tricky.R’ [1s/4s] Running ‘mirai_cluster,worker-termination.R’ [1s/3s] Running ‘mirai_cluster.R’ [1s/4s] Running ‘nbrOfWorkers.R’ [1s/2s] Running ‘plan.R’ [1s/3s] Running ‘rng.R’ [1s/3s] Running ‘stdout.R’ [1s/4s] Running ‘zzz,future_lapply.R’ [27s/34s] Running the tests in ‘tests/mirai_cluster,worker-termination.R’ failed. Complete output: > source("incl/start.R") Loading required package: future [23:32:29.006] plan(): Setting new future strategy stack: [23:32:29.007] List of future strategies: [23:32:29.007] 1. mirai_multisession: [23:32:29.007] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [23:32:29.007] - tweaked: FALSE [23:32:29.007] - call: future::plan(future.mirai::mirai_multisession) [23:32:29.042] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [23:32:29.043] < mirai [$data] > [23:32:29.070] getGlobalsAndPackages() ... [23:32:29.070] Not searching for globals [23:32:29.071] - globals: [0] <none> [23:32:29.071] getGlobalsAndPackages() ... DONE [23:32:29.072] getGlobalsAndPackages() ... [23:32:29.072] [23:32:29.073] - globals: [0] <none> [23:32:29.073] getGlobalsAndPackages() ... DONE [23:32:30.069] Packages needed by the future expression (n = 0): <none> [23:32:30.070] Packages needed by future strategies (n = 0): <none> [23:32:30.090] { [23:32:30.090] { [23:32:30.090] { [23:32:30.090] ...future.startTime <- base::Sys.time() [23:32:30.090] { [23:32:30.090] { [23:32:30.090] { [23:32:30.090] base::local({ [23:32:30.090] has_future <- base::requireNamespace("future", [23:32:30.090] quietly = TRUE) [23:32:30.090] if (has_future) { [23:32:30.090] ns <- base::getNamespace("future") [23:32:30.090] version <- ns[[".package"]][["version"]] [23:32:30.090] if (is.null(version)) [23:32:30.090] version <- utils::packageVersion("future") [23:32:30.090] } [23:32:30.090] else { [23:32:30.090] version <- NULL [23:32:30.090] } [23:32:30.090] if (!has_future || version < "1.8.0") { [23:32:30.090] info <- base::c(r_version = base::gsub("R version ", [23:32:30.090] "", base::R.version$version.string), [23:32:30.090] platform = base::sprintf("%s (%s-bit)", [23:32:30.090] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [23:32:30.090] os = base::paste(base::Sys.info()[base::c("sysname", [23:32:30.090] "release", "version")], collapse = " "), [23:32:30.090] hostname = base::Sys.info()[["nodename"]]) [23:32:30.090] info <- base::sprintf("%s: %s", base::names(info), [23:32:30.090] info) [23:32:30.090] info <- base::paste(info, collapse = "; ") [23:32:30.090] if (!has_future) { [23:32:30.090] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [23:32:30.090] info) [23:32:30.090] } [23:32:30.090] else { [23:32:30.090] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [23:32:30.090] info, version) [23:32:30.090] } [23:32:30.090] base::stop(msg) [23:32:30.090] } [23:32:30.090] }) [23:32:30.090] } [23:32:30.090] ...future.strategy.old <- future::plan("list") [23:32:30.090] options(future.plan = NULL) [23:32:30.090] Sys.unsetenv("R_FUTURE_PLAN") [23:32:30.090] future::plan("default", .cleanup = FALSE, .init = FALSE) [23:32:30.090] } [23:32:30.090] ...future.workdir <- getwd() [23:32:30.090] } [23:32:30.090] ...future.oldOptions <- base::as.list(base::.Options) [23:32:30.090] ...future.oldEnvVars <- base::Sys.getenv() [23:32:30.090] } [23:32:30.090] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [23:32:30.090] future.globals.maxSize = NULL, future.globals.method = NULL, [23:32:30.090] future.globals.onMissing = NULL, future.globals.onReference = NULL, [23:32:30.090] future.globals.resolve = NULL, future.resolve.recursive = NULL, [23:32:30.090] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [23:32:30.090] future.stdout.windows.reencode = NULL, width = 80L) [23:32:30.090] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [23:32:30.090] base::names(...future.oldOptions)) [23:32:30.090] } [23:32:30.090] if (FALSE) { [23:32:30.090] } [23:32:30.090] else { [23:32:30.090] if (TRUE) { [23:32:30.090] ...future.stdout <- base::rawConnection(base::raw(0L), [23:32:30.090] open = "w") [23:32:30.090] } [23:32:30.090] else { [23:32:30.090] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [23:32:30.090] windows = "NUL", "/dev/null"), open = "w") [23:32:30.090] } [23:32:30.090] base::sink(...future.stdout, type = "output", split = FALSE) [23:32:30.090] base::on.exit(if (!base::is.null(...future.stdout)) { [23:32:30.090] base::sink(type = "output", split = FALSE) [23:32:30.090] base::close(...future.stdout) [23:32:30.090] }, add = TRUE) [23:32:30.090] } [23:32:30.090] ...future.frame <- base::sys.nframe() [23:32:30.090] ...future.conditions <- base::list() [23:32:30.090] ...future.rng <- base::globalenv()$.Random.seed [23:32:30.090] if (FALSE) { [23:32:30.090] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [23:32:30.090] "...future.value", "...future.globalenv.names", ".Random.seed") [23:32:30.090] } [23:32:30.090] ...future.result <- base::tryCatch({ [23:32:30.090] base::withCallingHandlers({ [23:32:30.090] ...future.value <- base::withVisible(base::local(NA)) [23:32:30.090] future::FutureResult(value = ...future.value$value, [23:32:30.090] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [23:32:30.090] ...future.rng), globalenv = if (FALSE) [23:32:30.090] list(added = base::setdiff(base::names(base::.GlobalEnv), [23:32:30.090] ...future.globalenv.names)) [23:32:30.090] else NULL, started = ...future.startTime, version = "1.8") [23:32:30.090] }, condition = base::local({ [23:32:30.090] c <- base::c [23:32:30.090] inherits <- base::inherits [23:32:30.090] invokeRestart <- base::invokeRestart [23:32:30.090] length <- base::length [23:32:30.090] list <- base::list [23:32:30.090] seq.int <- base::seq.int [23:32:30.090] signalCondition <- base::signalCondition [23:32:30.090] sys.calls <- base::sys.calls [23:32:30.090] `[[` <- base::`[[` [23:32:30.090] `+` <- base::`+` [23:32:30.090] `<<-` <- base::`<<-` [23:32:30.090] sysCalls <- function(calls = sys.calls(), from = 1L) { [23:32:30.090] calls[seq.int(from = from + 12L, to = length(calls) - [23:32:30.090] 3L)] [23:32:30.090] } [23:32:30.090] function(cond) { [23:32:30.090] is_error <- inherits(cond, "error") [23:32:30.090] ignore <- !is_error && !is.null(NULL) && inherits(cond, [23:32:30.090] NULL) [23:32:30.090] if (is_error) { [23:32:30.090] sessionInformation <- function() { [23:32:30.090] list(r = base::R.Version(), locale = base::Sys.getlocale(), [23:32:30.090] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [23:32:30.090] search = base::search(), system = base::Sys.info()) [23:32:30.090] } [23:32:30.090] ...future.conditions[[length(...future.conditions) + [23:32:30.090] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [23:32:30.090] cond$call), session = sessionInformation(), [23:32:30.090] timestamp = base::Sys.time(), signaled = 0L) [23:32:30.090] signalCondition(cond) [23:32:30.090] } [23:32:30.090] else if (!ignore && TRUE && inherits(cond, "condition")) { [23:32:30.090] signal <- FALSE && inherits(cond, character(0)) [23:32:30.090] ...future.conditions[[length(...future.conditions) + [23:32:30.090] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [23:32:30.090] if (FALSE && !signal) { [23:32:30.090] muffleCondition <- function (cond, pattern = "^muffle") [23:32:30.090] { [23:32:30.090] inherits <- base::inherits [23:32:30.090] invokeRestart <- base::invokeRestart [23:32:30.090] is.null <- base::is.null [23:32:30.090] muffled <- FALSE [23:32:30.090] if (inherits(cond, "message")) { [23:32:30.090] muffled <- grepl(pattern, "muffleMessage") [23:32:30.090] if (muffled) [23:32:30.090] invokeRestart("muffleMessage") [23:32:30.090] } [23:32:30.090] else if (inherits(cond, "warning")) { [23:32:30.090] muffled <- grepl(pattern, "muffleWarning") [23:32:30.090] if (muffled) [23:32:30.090] invokeRestart("muffleWarning") [23:32:30.090] } [23:32:30.090] else if (inherits(cond, "condition")) { [23:32:30.090] if (!is.null(pattern)) { [23:32:30.090] computeRestarts <- base::computeRestarts [23:32:30.090] grepl <- base::grepl [23:32:30.090] restarts <- computeRestarts(cond) [23:32:30.090] for (restart in restarts) { [23:32:30.090] name <- restart$name [23:32:30.090] if (is.null(name)) [23:32:30.090] next [23:32:30.090] if (!grepl(pattern, name)) [23:32:30.090] next [23:32:30.090] invokeRestart(restart) [23:32:30.090] muffled <- TRUE [23:32:30.090] break [23:32:30.090] } [23:32:30.090] } [23:32:30.090] } [23:32:30.090] invisible(muffled) [23:32:30.090] } [23:32:30.090] muffleCondition(cond, pattern = "^muffle") [23:32:30.090] } [23:32:30.090] } [23:32:30.090] else { [23:32:30.090] if (TRUE) { [23:32:30.090] muffleCondition <- function (cond, pattern = "^muffle") [23:32:30.090] { [23:32:30.090] inherits <- base::inherits [23:32:30.090] invokeRestart <- base::invokeRestart [23:32:30.090] is.null <- base::is.null [23:32:30.090] muffled <- FALSE [23:32:30.090] if (inherits(cond, "message")) { [23:32:30.090] muffled <- grepl(pattern, "muffleMessage") [23:32:30.090] if (muffled) [23:32:30.090] invokeRestart("muffleMessage") [23:32:30.090] } [23:32:30.090] else if (inherits(cond, "warning")) { [23:32:30.090] muffled <- grepl(pattern, "muffleWarning") [23:32:30.090] if (muffled) [23:32:30.090] invokeRestart("muffleWarning") [23:32:30.090] } [23:32:30.090] else if (inherits(cond, "condition")) { [23:32:30.090] if (!is.null(pattern)) { [23:32:30.090] computeRestarts <- base::computeRestarts [23:32:30.090] grepl <- base::grepl [23:32:30.090] restarts <- computeRestarts(cond) [23:32:30.090] for (restart in restarts) { [23:32:30.090] name <- restart$name [23:32:30.090] if (is.null(name)) [23:32:30.090] next [23:32:30.090] if (!grepl(pattern, name)) [23:32:30.090] next [23:32:30.090] invokeRestart(restart) [23:32:30.090] muffled <- TRUE [23:32:30.090] break [23:32:30.090] } [23:32:30.090] } [23:32:30.090] } [23:32:30.090] invisible(muffled) [23:32:30.090] } [23:32:30.090] muffleCondition(cond, pattern = "^muffle") [23:32:30.090] } [23:32:30.090] } [23:32:30.090] } [23:32:30.090] })) [23:32:30.090] }, error = function(ex) { [23:32:30.090] base::structure(base::list(value = NULL, visible = NULL, [23:32:30.090] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [23:32:30.090] ...future.rng), started = ...future.startTime, [23:32:30.090] finished = Sys.time(), session_uuid = NA_character_, [23:32:30.090] version = "1.8"), class = "FutureResult") [23:32:30.090] }, finally = { [23:32:30.090] if (!identical(...future.workdir, getwd())) [23:32:30.090] setwd(...future.workdir) [23:32:30.090] { [23:32:30.090] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [23:32:30.090] ...future.oldOptions$nwarnings <- NULL [23:32:30.090] } [23:32:30.090] base::options(...future.oldOptions) [23:32:30.090] if (.Platform$OS.type == "windows") { [23:32:30.090] old_names <- names(...future.oldEnvVars) [23:32:30.090] envs <- base::Sys.getenv() [23:32:30.090] names <- names(envs) [23:32:30.090] common <- intersect(names, old_names) [23:32:30.090] added <- setdiff(names, old_names) [23:32:30.090] removed <- setdiff(old_names, names) [23:32:30.090] changed <- common[...future.oldEnvVars[common] != [23:32:30.090] envs[common]] [23:32:30.090] NAMES <- toupper(changed) [23:32:30.090] args <- list() [23:32:30.090] for (kk in seq_along(NAMES)) { [23:32:30.090] name <- changed[[kk]] [23:32:30.090] NAME <- NAMES[[kk]] [23:32:30.090] if (name != NAME && is.element(NAME, old_names)) [23:32:30.090] next [23:32:30.090] args[[name]] <- ...future.oldEnvVars[[name]] [23:32:30.090] } [23:32:30.090] NAMES <- toupper(added) [23:32:30.090] for (kk in seq_along(NAMES)) { [23:32:30.090] name <- added[[kk]] [23:32:30.090] NAME <- NAMES[[kk]] [23:32:30.090] if (name != NAME && is.element(NAME, old_names)) [23:32:30.090] next [23:32:30.090] args[[name]] <- "" [23:32:30.090] } [23:32:30.090] NAMES <- toupper(removed) [23:32:30.090] for (kk in seq_along(NAMES)) { [23:32:30.090] name <- removed[[kk]] [23:32:30.090] NAME <- NAMES[[kk]] [23:32:30.090] if (name != NAME && is.element(NAME, old_names)) [23:32:30.090] next [23:32:30.090] args[[name]] <- ...future.oldEnvVars[[name]] [23:32:30.090] } [23:32:30.090] if (length(args) > 0) [23:32:30.090] base::do.call(base::Sys.setenv, args = args) [23:32:30.090] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [23:32:30.090] } [23:32:30.090] else { [23:32:30.090] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [23:32:30.090] } [23:32:30.090] { [23:32:30.090] if (base::length(...future.futureOptionsAdded) > [23:32:30.090] 0L) { [23:32:30.090] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [23:32:30.090] base::names(opts) <- ...future.futureOptionsAdded [23:32:30.090] base::options(opts) [23:32:30.090] } [23:32:30.090] { [23:32:30.090] NULL [23:32:30.090] options(future.plan = NULL) [23:32:30.090] if (is.na(NA_character_)) [23:32:30.090] Sys.unsetenv("R_FUTURE_PLAN") [23:32:30.090] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [23:32:30.090] future::plan(...future.strategy.old, .cleanup = FALSE, [23:32:30.090] .init = FALSE) [23:32:30.090] } [23:32:30.090] } [23:32:30.090] } [23:32:30.090] }) [23:32:30.090] if (TRUE) { [23:32:30.090] base::sink(type = "output", split = FALSE) [23:32:30.090] if (TRUE) { [23:32:30.090] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [23:32:30.090] } [23:32:30.090] else { [23:32:30.090] ...future.result["stdout"] <- base::list(NULL) [23:32:30.090] } [23:32:30.090] base::close(...future.stdout) [23:32:30.090] ...future.stdout <- NULL [23:32:30.090] } [23:32:30.090] ...future.result$conditions <- ...future.conditions [23:32:30.090] ...future.result$finished <- base::Sys.time() [23:32:30.090] ...future.result [23:32:30.090] } [23:32:30.562] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [23:32:30.563] plan(): nbrOfWorkers() = 2 > > message("*** mirai_multisession() - terminating workers ...") *** mirai_multisession() - terminating workers ... > > plan(mirai_multisession, workers = 2L) [23:32:30.565] plan(): Setting new future strategy stack: [23:32:30.567] List of future strategies: [23:32:30.567] 1. mirai_multisession: [23:32:30.567] - args: function (..., workers = 2L, envir = parent.frame()) [23:32:30.567] - tweaked: TRUE [23:32:30.567] - call: plan(mirai_multisession, workers = 2L) [23:32:30.633] plan(): plan_init() of 'tweaked', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [23:32:30.641] < mirai [$data] > [23:32:30.641] getGlobalsAndPackages() ... [23:32:30.642] Not searching for globals [23:32:30.642] - globals: [0] <none> [23:32:30.642] getGlobalsAndPackages() ... DONE [23:32:30.643] getGlobalsAndPackages() ... [23:32:30.643] [23:32:30.643] - globals: [0] <none> [23:32:30.644] getGlobalsAndPackages() ... DONE [23:32:30.644] Packages needed by the future expression (n = 0): <none> [23:32:30.645] Packages needed by future strategies (n = 0): <none> [23:32:30.650] { [23:32:30.650] { [23:32:30.650] { [23:32:30.650] ...future.startTime <- base::Sys.time() [23:32:30.650] { [23:32:30.650] { [23:32:30.650] { [23:32:30.650] base::local({ [23:32:30.650] has_future <- base::requireNamespace("future", [23:32:30.650] quietly = TRUE) [23:32:30.650] if (has_future) { [23:32:30.650] ns <- base::getNamespace("future") [23:32:30.650] version <- ns[[".package"]][["version"]] [23:32:30.650] if (is.null(version)) [23:32:30.650] version <- utils::packageVersion("future") [23:32:30.650] } [23:32:30.650] else { [23:32:30.650] version <- NULL [23:32:30.650] } [23:32:30.650] if (!has_future || version < "1.8.0") { [23:32:30.650] info <- base::c(r_version = base::gsub("R version ", [23:32:30.650] "", base::R.version$version.string), [23:32:30.650] platform = base::sprintf("%s (%s-bit)", [23:32:30.650] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [23:32:30.650] os = base::paste(base::Sys.info()[base::c("sysname", [23:32:30.650] "release", "version")], collapse = " "), [23:32:30.650] hostname = base::Sys.info()[["nodename"]]) [23:32:30.650] info <- base::sprintf("%s: %s", base::names(info), [23:32:30.650] info) [23:32:30.650] info <- base::paste(info, collapse = "; ") [23:32:30.650] if (!has_future) { [23:32:30.650] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [23:32:30.650] info) [23:32:30.650] } [23:32:30.650] else { [23:32:30.650] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [23:32:30.650] info, version) [23:32:30.650] } [23:32:30.650] base::stop(msg) [23:32:30.650] } [23:32:30.650] }) [23:32:30.650] } [23:32:30.650] ...future.strategy.old <- future::plan("list") [23:32:30.650] options(future.plan = NULL) [23:32:30.650] Sys.unsetenv("R_FUTURE_PLAN") [23:32:30.650] future::plan("default", .cleanup = FALSE, .init = FALSE) [23:32:30.650] } [23:32:30.650] ...future.workdir <- getwd() [23:32:30.650] } [23:32:30.650] ...future.oldOptions <- base::as.list(base::.Options) [23:32:30.650] ...future.oldEnvVars <- base::Sys.getenv() [23:32:30.650] } [23:32:30.650] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [23:32:30.650] future.globals.maxSize = NULL, future.globals.method = NULL, [23:32:30.650] future.globals.onMissing = NULL, future.globals.onReference = NULL, [23:32:30.650] future.globals.resolve = NULL, future.resolve.recursive = NULL, [23:32:30.650] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [23:32:30.650] future.stdout.windows.reencode = NULL, width = 80L) [23:32:30.650] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [23:32:30.650] base::names(...future.oldOptions)) [23:32:30.650] } [23:32:30.650] if (FALSE) { [23:32:30.650] } [23:32:30.650] else { [23:32:30.650] if (TRUE) { [23:32:30.650] ...future.stdout <- base::rawConnection(base::raw(0L), [23:32:30.650] open = "w") [23:32:30.650] } [23:32:30.650] else { [23:32:30.650] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [23:32:30.650] windows = "NUL", "/dev/null"), open = "w") [23:32:30.650] } [23:32:30.650] base::sink(...future.stdout, type = "output", split = FALSE) [23:32:30.650] base::on.exit(if (!base::is.null(...future.stdout)) { [23:32:30.650] base::sink(type = "output", split = FALSE) [23:32:30.650] base::close(...future.stdout) [23:32:30.650] }, add = TRUE) [23:32:30.650] } [23:32:30.650] ...future.frame <- base::sys.nframe() [23:32:30.650] ...future.conditions <- base::list() [23:32:30.650] ...future.rng <- base::globalenv()$.Random.seed [23:32:30.650] if (FALSE) { [23:32:30.650] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [23:32:30.650] "...future.value", "...future.globalenv.names", ".Random.seed") [23:32:30.650] } [23:32:30.650] ...future.result <- base::tryCatch({ [23:32:30.650] base::withCallingHandlers({ [23:32:30.650] ...future.value <- base::withVisible(base::local(NA)) [23:32:30.650] future::FutureResult(value = ...future.value$value, [23:32:30.650] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [23:32:30.650] ...future.rng), globalenv = if (FALSE) [23:32:30.650] list(added = base::setdiff(base::names(base::.GlobalEnv), [23:32:30.650] ...future.globalenv.names)) [23:32:30.650] else NULL, started = ...future.startTime, version = "1.8") [23:32:30.650] }, condition = base::local({ [23:32:30.650] c <- base::c [23:32:30.650] inherits <- base::inherits [23:32:30.650] invokeRestart <- base::invokeRestart [23:32:30.650] length <- base::length [23:32:30.650] list <- base::list [23:32:30.650] seq.int <- base::seq.int [23:32:30.650] signalCondition <- base::signalCondition [23:32:30.650] sys.calls <- base::sys.calls [23:32:30.650] `[[` <- base::`[[` [23:32:30.650] `+` <- base::`+` [23:32:30.650] `<<-` <- base::`<<-` [23:32:30.650] sysCalls <- function(calls = sys.calls(), from = 1L) { [23:32:30.650] calls[seq.int(from = from + 12L, to = length(calls) - [23:32:30.650] 3L)] [23:32:30.650] } [23:32:30.650] function(cond) { [23:32:30.650] is_error <- inherits(cond, "error") [23:32:30.650] ignore <- !is_error && !is.null(NULL) && inherits(cond, [23:32:30.650] NULL) [23:32:30.650] if (is_error) { [23:32:30.650] sessionInformation <- function() { [23:32:30.650] list(r = base::R.Version(), locale = base::Sys.getlocale(), [23:32:30.650] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [23:32:30.650] search = base::search(), system = base::Sys.info()) [23:32:30.650] } [23:32:30.650] ...future.conditions[[length(...future.conditions) + [23:32:30.650] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [23:32:30.650] cond$call), session = sessionInformation(), [23:32:30.650] timestamp = base::Sys.time(), signaled = 0L) [23:32:30.650] signalCondition(cond) [23:32:30.650] } [23:32:30.650] else if (!ignore && TRUE && inherits(cond, "condition")) { [23:32:30.650] signal <- FALSE && inherits(cond, character(0)) [23:32:30.650] ...future.conditions[[length(...future.conditions) + [23:32:30.650] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [23:32:30.650] if (FALSE && !signal) { [23:32:30.650] muffleCondition <- function (cond, pattern = "^muffle") [23:32:30.650] { [23:32:30.650] inherits <- base::inherits [23:32:30.650] invokeRestart <- base::invokeRestart [23:32:30.650] is.null <- base::is.null [23:32:30.650] muffled <- FALSE [23:32:30.650] if (inherits(cond, "message")) { [23:32:30.650] muffled <- grepl(pattern, "muffleMessage") [23:32:30.650] if (muffled) [23:32:30.650] invokeRestart("muffleMessage") [23:32:30.650] } [23:32:30.650] else if (inherits(cond, "warning")) { [23:32:30.650] muffled <- grepl(pattern, "muffleWarning") [23:32:30.650] if (muffled) [23:32:30.650] invokeRestart("muffleWarning") [23:32:30.650] } [23:32:30.650] else if (inherits(cond, "condition")) { [23:32:30.650] if (!is.null(pattern)) { [23:32:30.650] computeRestarts <- base::computeRestarts [23:32:30.650] grepl <- base::grepl [23:32:30.650] restarts <- computeRestarts(cond) [23:32:30.650] for (restart in restarts) { [23:32:30.650] name <- restart$name [23:32:30.650] if (is.null(name)) [23:32:30.650] next [23:32:30.650] if (!grepl(pattern, name)) [23:32:30.650] next [23:32:30.650] invokeRestart(restart) [23:32:30.650] muffled <- TRUE [23:32:30.650] break [23:32:30.650] } [23:32:30.650] } [23:32:30.650] } [23:32:30.650] invisible(muffled) [23:32:30.650] } [23:32:30.650] muffleCondition(cond, pattern = "^muffle") [23:32:30.650] } [23:32:30.650] } [23:32:30.650] else { [23:32:30.650] if (TRUE) { [23:32:30.650] muffleCondition <- function (cond, pattern = "^muffle") [23:32:30.650] { [23:32:30.650] inherits <- base::inherits [23:32:30.650] invokeRestart <- base::invokeRestart [23:32:30.650] is.null <- base::is.null [23:32:30.650] muffled <- FALSE [23:32:30.650] if (inherits(cond, "message")) { [23:32:30.650] muffled <- grepl(pattern, "muffleMessage") [23:32:30.650] if (muffled) [23:32:30.650] invokeRestart("muffleMessage") [23:32:30.650] } [23:32:30.650] else if (inherits(cond, "warning")) { [23:32:30.650] muffled <- grepl(pattern, "muffleWarning") [23:32:30.650] if (muffled) [23:32:30.650] invokeRestart("muffleWarning") [23:32:30.650] } [23:32:30.650] else if (inherits(cond, "condition")) { [23:32:30.650] if (!is.null(pattern)) { [23:32:30.650] computeRestarts <- base::computeRestarts [23:32:30.650] grepl <- base::grepl [23:32:30.650] restarts <- computeRestarts(cond) [23:32:30.650] for (restart in restarts) { [23:32:30.650] name <- restart$name [23:32:30.650] if (is.null(name)) [23:32:30.650] next [23:32:30.650] if (!grepl(pattern, name)) [23:32:30.650] next [23:32:30.650] invokeRestart(restart) [23:32:30.650] muffled <- TRUE [23:32:30.650] break [23:32:30.650] } [23:32:30.650] } [23:32:30.650] } [23:32:30.650] invisible(muffled) [23:32:30.650] } [23:32:30.650] muffleCondition(cond, pattern = "^muffle") [23:32:30.650] } [23:32:30.650] } [23:32:30.650] } [23:32:30.650] })) [23:32:30.650] }, error = function(ex) { [23:32:30.650] base::structure(base::list(value = NULL, visible = NULL, [23:32:30.650] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [23:32:30.650] ...future.rng), started = ...future.startTime, [23:32:30.650] finished = Sys.time(), session_uuid = NA_character_, [23:32:30.650] version = "1.8"), class = "FutureResult") [23:32:30.650] }, finally = { [23:32:30.650] if (!identical(...future.workdir, getwd())) [23:32:30.650] setwd(...future.workdir) [23:32:30.650] { [23:32:30.650] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [23:32:30.650] ...future.oldOptions$nwarnings <- NULL [23:32:30.650] } [23:32:30.650] base::options(...future.oldOptions) [23:32:30.650] if (.Platform$OS.type == "windows") { [23:32:30.650] old_names <- names(...future.oldEnvVars) [23:32:30.650] envs <- base::Sys.getenv() [23:32:30.650] names <- names(envs) [23:32:30.650] common <- intersect(names, old_names) [23:32:30.650] added <- setdiff(names, old_names) [23:32:30.650] removed <- setdiff(old_names, names) [23:32:30.650] changed <- common[...future.oldEnvVars[common] != [23:32:30.650] envs[common]] [23:32:30.650] NAMES <- toupper(changed) [23:32:30.650] args <- list() [23:32:30.650] for (kk in seq_along(NAMES)) { [23:32:30.650] name <- changed[[kk]] [23:32:30.650] NAME <- NAMES[[kk]] [23:32:30.650] if (name != NAME && is.element(NAME, old_names)) [23:32:30.650] next [23:32:30.650] args[[name]] <- ...future.oldEnvVars[[name]] [23:32:30.650] } [23:32:30.650] NAMES <- toupper(added) [23:32:30.650] for (kk in seq_along(NAMES)) { [23:32:30.650] name <- added[[kk]] [23:32:30.650] NAME <- NAMES[[kk]] [23:32:30.650] if (name != NAME && is.element(NAME, old_names)) [23:32:30.650] next [23:32:30.650] args[[name]] <- "" [23:32:30.650] } [23:32:30.650] NAMES <- toupper(removed) [23:32:30.650] for (kk in seq_along(NAMES)) { [23:32:30.650] name <- removed[[kk]] [23:32:30.650] NAME <- NAMES[[kk]] [23:32:30.650] if (name != NAME && is.element(NAME, old_names)) [23:32:30.650] next [23:32:30.650] args[[name]] <- ...future.oldEnvVars[[name]] [23:32:30.650] } [23:32:30.650] if (length(args) > 0) [23:32:30.650] base::do.call(base::Sys.setenv, args = args) [23:32:30.650] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [23:32:30.650] } [23:32:30.650] else { [23:32:30.650] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [23:32:30.650] } [23:32:30.650] { [23:32:30.650] if (base::length(...future.futureOptionsAdded) > [23:32:30.650] 0L) { [23:32:30.650] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [23:32:30.650] base::names(opts) <- ...future.futureOptionsAdded [23:32:30.650] base::options(opts) [23:32:30.650] } [23:32:30.650] { [23:32:30.650] NULL [23:32:30.650] options(future.plan = NULL) [23:32:30.650] if (is.na(NA_character_)) [23:32:30.650] Sys.unsetenv("R_FUTURE_PLAN") [23:32:30.650] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [23:32:30.650] future::plan(...future.strategy.old, .cleanup = FALSE, [23:32:30.650] .init = FALSE) [23:32:30.650] } [23:32:30.650] } [23:32:30.650] } [23:32:30.650] }) [23:32:30.650] if (TRUE) { [23:32:30.650] base::sink(type = "output", split = FALSE) [23:32:30.650] if (TRUE) { [23:32:30.650] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [23:32:30.650] } [23:32:30.650] else { [23:32:30.650] ...future.result["stdout"] <- base::list(NULL) [23:32:30.650] } [23:32:30.650] base::close(...future.stdout) [23:32:30.650] ...future.stdout <- NULL [23:32:30.650] } [23:32:30.650] ...future.result$conditions <- ...future.conditions [23:32:30.650] ...future.result$finished <- base::Sys.time() [23:32:30.650] ...future.result [23:32:30.650] } [23:32:31.009] plan(): plan_init() of 'tweaked', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [23:32:31.010] plan(): nbrOfWorkers() = 2 > > all <- nbrOfWorkers() > message("Number of workers: ", all) Number of workers: 2 > stopifnot(all == 2L) > free <- nbrOfFreeWorkers() > message("Number of free workers: ", all) Number of free workers: 2 > stopifnot(free == 2L) > > ## Don't test on MS Windows, because that will leave behind a > ## stray Rscript<hexcode> file, which 'R CMD check --as-cran' > ## will complain about. /HB 2024-04-12 > if (.Platform$OS.type != "windows") { + ## Force R worker to quit + f <- future({ tools::pskill(pid = Sys.getpid()) }) + res <- tryCatch(value(f), error = identity) + print(res) + stopifnot(inherits(res, "FutureError")) + + ## FIXME: nbrOfWorkers()/nbrOfFreeWorkers() can throw a FutureError, + ## cf. https://github.com/HenrikBengtsson/future.mirai/issues/7 + nworkers <- tryCatch(nbrOfWorkers(), error = identity) + print(nworkers) + if (!inherits(nworkers, "error")) { + message("Number of workers: ", nworkers) + stopifnot(nworkers == all - 1L) + } + + nfreeworkers <- tryCatch(nbrOfFreeWorkers(), error = identity) + print(nfreeworkers) + if (!inherits(nfreeworkers, "error")) { + message("Number of free workers: ", nfreeworkers) + stopifnot(nfreeworkers == free - 1L) + } + } [23:32:31.021] getGlobalsAndPackages() ... [23:32:31.022] Searching for globals... [23:32:31.073] - globals found: [3] '{', '::', 'Sys.getpid' [23:32:31.074] Searching for globals ... DONE [23:32:31.074] Resolving globals: FALSE [23:32:31.075] [23:32:31.076] [23:32:31.076] getGlobalsAndPackages() ... DONE [23:32:31.081] run() for 'Future' ... [23:32:31.082] - state: 'created' [23:32:31.082] - Future backend: 'FutureStrategy', 'tweaked', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [23:32:31.083] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [23:32:31.084] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [23:32:31.084] - Field: 'label' [23:32:31.084] - Field: 'local' [23:32:31.084] - Field: 'owner' [23:32:31.085] - Field: 'envir' [23:32:31.089] - Field: 'packages' [23:32:31.090] - Field: 'gc' [23:32:31.090] - Field: 'conditions' [23:32:31.090] - Field: 'expr' [23:32:31.090] - Field: 'uuid' [23:32:31.091] - Field: 'seed' [23:32:31.091] - Field: 'version' [23:32:31.091] - Field: 'result' [23:32:31.091] - Field: 'asynchronous' [23:32:31.092] - Field: 'calls' [23:32:31.092] - Field: 'globals' [23:32:31.092] - Field: 'stdout' [23:32:31.093] - Field: 'earlySignal' [23:32:31.093] - Field: 'lazy' [23:32:31.097] - Field: 'state' [23:32:31.098] - Field: '.cluster' [23:32:31.098] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [23:32:31.098] - Launch lazy future ... [23:32:31.099] Packages needed by the future expression (n = 0): <none> [23:32:31.099] Packages needed by future strategies (n = 0): <none> [23:32:31.101] { [23:32:31.101] { [23:32:31.101] { [23:32:31.101] ...future.startTime <- base::Sys.time() [23:32:31.101] { [23:32:31.101] { [23:32:31.101] { [23:32:31.101] base::local({ [23:32:31.101] has_future <- base::requireNamespace("future", [23:32:31.101] quietly = TRUE) [23:32:31.101] if (has_future) { [23:32:31.101] ns <- base::getNamespace("future") [23:32:31.101] version <- ns[[".package"]][["version"]] [23:32:31.101] if (is.null(version)) [23:32:31.101] version <- utils::packageVersion("future") [23:32:31.101] } [23:32:31.101] else { [23:32:31.101] version <- NULL [23:32:31.101] } [23:32:31.101] if (!has_future || version < "1.8.0") { [23:32:31.101] info <- base::c(r_version = base::gsub("R version ", [23:32:31.101] "", base::R.version$version.string), [23:32:31.101] platform = base::sprintf("%s (%s-bit)", [23:32:31.101] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [23:32:31.101] os = base::paste(base::Sys.info()[base::c("sysname", [23:32:31.101] "release", "version")], collapse = " "), [23:32:31.101] hostname = base::Sys.info()[["nodename"]]) [23:32:31.101] info <- base::sprintf("%s: %s", base::names(info), [23:32:31.101] info) [23:32:31.101] info <- base::paste(info, collapse = "; ") [23:32:31.101] if (!has_future) { [23:32:31.101] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [23:32:31.101] info) [23:32:31.101] } [23:32:31.101] else { [23:32:31.101] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [23:32:31.101] info, version) [23:32:31.101] } [23:32:31.101] base::stop(msg) [23:32:31.101] } [23:32:31.101] }) [23:32:31.101] } [23:32:31.101] ...future.strategy.old <- future::plan("list") [23:32:31.101] options(future.plan = NULL) [23:32:31.101] Sys.unsetenv("R_FUTURE_PLAN") [23:32:31.101] future::plan("default", .cleanup = FALSE, .init = FALSE) [23:32:31.101] } [23:32:31.101] ...future.workdir <- getwd() [23:32:31.101] } [23:32:31.101] ...future.oldOptions <- base::as.list(base::.Options) [23:32:31.101] ...future.oldEnvVars <- base::Sys.getenv() [23:32:31.101] } [23:32:31.101] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [23:32:31.101] future.globals.maxSize = NULL, future.globals.method = NULL, [23:32:31.101] future.globals.onMissing = NULL, future.globals.onReference = NULL, [23:32:31.101] future.globals.resolve = NULL, future.resolve.recursive = NULL, [23:32:31.101] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [23:32:31.101] future.stdout.windows.reencode = NULL, width = 80L) [23:32:31.101] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [23:32:31.101] base::names(...future.oldOptions)) [23:32:31.101] } [23:32:31.101] if (FALSE) { [23:32:31.101] } [23:32:31.101] else { [23:32:31.101] if (TRUE) { [23:32:31.101] ...future.stdout <- base::rawConnection(base::raw(0L), [23:32:31.101] open = "w") [23:32:31.101] } [23:32:31.101] else { [23:32:31.101] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [23:32:31.101] windows = "NUL", "/dev/null"), open = "w") [23:32:31.101] } [23:32:31.101] base::sink(...future.stdout, type = "output", split = FALSE) [23:32:31.101] base::on.exit(if (!base::is.null(...future.stdout)) { [23:32:31.101] base::sink(type = "output", split = FALSE) [23:32:31.101] base::close(...future.stdout) [23:32:31.101] }, add = TRUE) [23:32:31.101] } [23:32:31.101] ...future.frame <- base::sys.nframe() [23:32:31.101] ...future.conditions <- base::list() [23:32:31.101] ...future.rng <- base::globalenv()$.Random.seed [23:32:31.101] if (FALSE) { [23:32:31.101] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [23:32:31.101] "...future.value", "...future.globalenv.names", ".Random.seed") [23:32:31.101] } [23:32:31.101] ...future.result <- base::tryCatch({ [23:32:31.101] base::withCallingHandlers({ [23:32:31.101] ...future.value <- base::withVisible(base::local({ [23:32:31.101] tools::pskill(pid = Sys.getpid()) [23:32:31.101] })) [23:32:31.101] future::FutureResult(value = ...future.value$value, [23:32:31.101] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [23:32:31.101] ...future.rng), globalenv = if (FALSE) [23:32:31.101] list(added = base::setdiff(base::names(base::.GlobalEnv), [23:32:31.101] ...future.globalenv.names)) [23:32:31.101] else NULL, started = ...future.startTime, version = "1.8") [23:32:31.101] }, condition = base::local({ [23:32:31.101] c <- base::c [23:32:31.101] inherits <- base::inherits [23:32:31.101] invokeRestart <- base::invokeRestart [23:32:31.101] length <- base::length [23:32:31.101] list <- base::list [23:32:31.101] seq.int <- base::seq.int [23:32:31.101] signalCondition <- base::signalCondition [23:32:31.101] sys.calls <- base::sys.calls [23:32:31.101] `[[` <- base::`[[` [23:32:31.101] `+` <- base::`+` [23:32:31.101] `<<-` <- base::`<<-` [23:32:31.101] sysCalls <- function(calls = sys.calls(), from = 1L) { [23:32:31.101] calls[seq.int(from = from + 12L, to = length(calls) - [23:32:31.101] 3L)] [23:32:31.101] } [23:32:31.101] function(cond) { [23:32:31.101] is_error <- inherits(cond, "error") [23:32:31.101] ignore <- !is_error && !is.null(NULL) && inherits(cond, [23:32:31.101] NULL) [23:32:31.101] if (is_error) { [23:32:31.101] sessionInformation <- function() { [23:32:31.101] list(r = base::R.Version(), locale = base::Sys.getlocale(), [23:32:31.101] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [23:32:31.101] search = base::search(), system = base::Sys.info()) [23:32:31.101] } [23:32:31.101] ...future.conditions[[length(...future.conditions) + [23:32:31.101] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [23:32:31.101] cond$call), session = sessionInformation(), [23:32:31.101] timestamp = base::Sys.time(), signaled = 0L) [23:32:31.101] signalCondition(cond) [23:32:31.101] } [23:32:31.101] else if (!ignore && TRUE && inherits(cond, "condition")) { [23:32:31.101] signal <- FALSE && inherits(cond, character(0)) [23:32:31.101] ...future.conditions[[length(...future.conditions) + [23:32:31.101] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [23:32:31.101] if (FALSE && !signal) { [23:32:31.101] muffleCondition <- function (cond, pattern = "^muffle") [23:32:31.101] { [23:32:31.101] inherits <- base::inherits [23:32:31.101] invokeRestart <- base::invokeRestart [23:32:31.101] is.null <- base::is.null [23:32:31.101] muffled <- FALSE [23:32:31.101] if (inherits(cond, "message")) { [23:32:31.101] muffled <- grepl(pattern, "muffleMessage") [23:32:31.101] if (muffled) [23:32:31.101] invokeRestart("muffleMessage") [23:32:31.101] } [23:32:31.101] else if (inherits(cond, "warning")) { [23:32:31.101] muffled <- grepl(pattern, "muffleWarning") [23:32:31.101] if (muffled) [23:32:31.101] invokeRestart("muffleWarning") [23:32:31.101] } [23:32:31.101] else if (inherits(cond, "condition")) { [23:32:31.101] if (!is.null(pattern)) { [23:32:31.101] computeRestarts <- base::computeRestarts [23:32:31.101] grepl <- base::grepl [23:32:31.101] restarts <- computeRestarts(cond) [23:32:31.101] for (restart in restarts) { [23:32:31.101] name <- restart$name [23:32:31.101] if (is.null(name)) [23:32:31.101] next [23:32:31.101] if (!grepl(pattern, name)) [23:32:31.101] next [23:32:31.101] invokeRestart(restart) [23:32:31.101] muffled <- TRUE [23:32:31.101] break [23:32:31.101] } [23:32:31.101] } [23:32:31.101] } [23:32:31.101] invisible(muffled) [23:32:31.101] } [23:32:31.101] muffleCondition(cond, pattern = "^muffle") [23:32:31.101] } [23:32:31.101] } [23:32:31.101] else { [23:32:31.101] if (TRUE) { [23:32:31.101] muffleCondition <- function (cond, pattern = "^muffle") [23:32:31.101] { [23:32:31.101] inherits <- base::inherits [23:32:31.101] invokeRestart <- base::invokeRestart [23:32:31.101] is.null <- base::is.null [23:32:31.101] muffled <- FALSE [23:32:31.101] if (inherits(cond, "message")) { [23:32:31.101] muffled <- grepl(pattern, "muffleMessage") [23:32:31.101] if (muffled) [23:32:31.101] invokeRestart("muffleMessage") [23:32:31.101] } [23:32:31.101] else if (inherits(cond, "warning")) { [23:32:31.101] muffled <- grepl(pattern, "muffleWarning") [23:32:31.101] if (muffled) [23:32:31.101] invokeRestart("muffleWarning") [23:32:31.101] } [23:32:31.101] else if (inherits(cond, "condition")) { [23:32:31.101] if (!is.null(pattern)) { [23:32:31.101] computeRestarts <- base::computeRestarts [23:32:31.101] grepl <- base::grepl [23:32:31.101] restarts <- computeRestarts(cond) [23:32:31.101] for (restart in restarts) { [23:32:31.101] name <- restart$name [23:32:31.101] if (is.null(name)) [23:32:31.101] next [23:32:31.101] if (!grepl(pattern, name)) [23:32:31.101] next [23:32:31.101] invokeRestart(restart) [23:32:31.101] muffled <- TRUE [23:32:31.101] break [23:32:31.101] } [23:32:31.101] } [23:32:31.101] } [23:32:31.101] invisible(muffled) [23:32:31.101] } [23:32:31.101] muffleCondition(cond, pattern = "^muffle") [23:32:31.101] } [23:32:31.101] } [23:32:31.101] } [23:32:31.101] })) [23:32:31.101] }, error = function(ex) { [23:32:31.101] base::structure(base::list(value = NULL, visible = NULL, [23:32:31.101] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [23:32:31.101] ...future.rng), started = ...future.startTime, [23:32:31.101] finished = Sys.time(), session_uuid = NA_character_, [23:32:31.101] version = "1.8"), class = "FutureResult") [23:32:31.101] }, finally = { [23:32:31.101] if (!identical(...future.workdir, getwd())) [23:32:31.101] setwd(...future.workdir) [23:32:31.101] { [23:32:31.101] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [23:32:31.101] ...future.oldOptions$nwarnings <- NULL [23:32:31.101] } [23:32:31.101] base::options(...future.oldOptions) [23:32:31.101] if (.Platform$OS.type == "windows") { [23:32:31.101] old_names <- names(...future.oldEnvVars) [23:32:31.101] envs <- base::Sys.getenv() [23:32:31.101] names <- names(envs) [23:32:31.101] common <- intersect(names, old_names) [23:32:31.101] added <- setdiff(names, old_names) [23:32:31.101] removed <- setdiff(old_names, names) [23:32:31.101] changed <- common[...future.oldEnvVars[common] != [23:32:31.101] envs[common]] [23:32:31.101] NAMES <- toupper(changed) [23:32:31.101] args <- list() [23:32:31.101] for (kk in seq_along(NAMES)) { [23:32:31.101] name <- changed[[kk]] [23:32:31.101] NAME <- NAMES[[kk]] [23:32:31.101] if (name != NAME && is.element(NAME, old_names)) [23:32:31.101] next [23:32:31.101] args[[name]] <- ...future.oldEnvVars[[name]] [23:32:31.101] } [23:32:31.101] NAMES <- toupper(added) [23:32:31.101] for (kk in seq_along(NAMES)) { [23:32:31.101] name <- added[[kk]] [23:32:31.101] NAME <- NAMES[[kk]] [23:32:31.101] if (name != NAME && is.element(NAME, old_names)) [23:32:31.101] next [23:32:31.101] args[[name]] <- "" [23:32:31.101] } [23:32:31.101] NAMES <- toupper(removed) [23:32:31.101] for (kk in seq_along(NAMES)) { [23:32:31.101] name <- removed[[kk]] [23:32:31.101] NAME <- NAMES[[kk]] [23:32:31.101] if (name != NAME && is.element(NAME, old_names)) [23:32:31.101] next [23:32:31.101] args[[name]] <- ...future.oldEnvVars[[name]] [23:32:31.101] } [23:32:31.101] if (length(args) > 0) [23:32:31.101] base::do.call(base::Sys.setenv, args = args) [23:32:31.101] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [23:32:31.101] } [23:32:31.101] else { [23:32:31.101] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [23:32:31.101] } [23:32:31.101] { [23:32:31.101] if (base::length(...future.futureOptionsAdded) > [23:32:31.101] 0L) { [23:32:31.101] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [23:32:31.101] base::names(opts) <- ...future.futureOptionsAdded [23:32:31.101] base::options(opts) [23:32:31.101] } [23:32:31.101] { [23:32:31.101] NULL [23:32:31.101] options(future.plan = NULL) [23:32:31.101] if (is.na(NA_character_)) [23:32:31.101] Sys.unsetenv("R_FUTURE_PLAN") [23:32:31.101] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [23:32:31.101] future::plan(...future.strategy.old, .cleanup = FALSE, [23:32:31.101] .init = FALSE) [23:32:31.101] } [23:32:31.101] } [23:32:31.101] } [23:32:31.101] }) [23:32:31.101] if (TRUE) { [23:32:31.101] base::sink(type = "output", split = FALSE) [23:32:31.101] if (TRUE) { [23:32:31.101] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [23:32:31.101] } [23:32:31.101] else { [23:32:31.101] ...future.result["stdout"] <- base::list(NULL) [23:32:31.101] } [23:32:31.101] base::close(...future.stdout) [23:32:31.101] ...future.stdout <- NULL [23:32:31.101] } [23:32:31.101] ...future.result$conditions <- ...future.conditions [23:32:31.101] ...future.result$finished <- base::Sys.time() [23:32:31.101] ...future.result [23:32:31.101] } [23:32:31.114] - Launch lazy future ... done [23:32:31.114] run() for 'MiraiFuture' ... done <FutureError: Failed to retrieve results from MiraiFuture (<none>). The mirai framework reports on error value 19> Future UUID: <NA> [1] 2 Number of workers: 2 Error: nworkers == all - 1L is not TRUE Execution halted Flavor: r-patched-linux-x86_64

Package future.tests

Current CRAN status: OK: 13

Package futureverse

Current CRAN status: OK: 13

Package globals

Current CRAN status: OK: 13

Package listenv

Current CRAN status: OK: 13

Package matrixStats

Current CRAN status: OK: 13

Package parallelly

Current CRAN status: OK: 13

Package port4me

Current CRAN status: OK: 13

Package profmem

Current CRAN status: ERROR: 1, OK: 12

Version: 0.6.0
Check: re-building of vignette outputs
Result: ERROR Error(s) in re-building vignettes: ... --- re-building ‘profmem.md.rsp’ using rsp R.utils v2.12.3 (2023-11-18 01:00:02 UTC) successfully loaded. See ?R.utils for help. Attaching package: ‘R.utils’ The following object is masked from ‘package:utils’: timestamp The following objects are masked from ‘package:base’: cat, commandArgs, getOption, isOpen, nullfile, parse, use, warnings Error: processing vignette 'profmem.md.rsp' failed with diagnostics: there is no package called ‘microbenchmark’ --- failed re-building ‘profmem.md.rsp’ SUMMARY: processing the following file failed: ‘profmem.md.rsp’ Error: Vignette re-building failed. Execution halted Flavor: r-release-macos-arm64

Package progressr

Current CRAN status: OK: 13

Package PSCBS

Current CRAN status: OK: 13

Package R.cache

Current CRAN status: NOTE: 10, OK: 3

Version: 0.16.0
Check: Rd files
Result: NOTE checkRd: (-1) R.cache-package.Rd:28-30: Lost braces in \itemize; meant \describe ? checkRd: (-1) R.cache-package.Rd:31-34: Lost braces in \itemize; meant \describe ? Flavors: r-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc, r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc, r-devel-windows-x86_64, r-patched-linux-x86_64, r-release-linux-x86_64, r-release-macos-arm64, r-release-macos-x86_64, r-release-windows-x86_64

Package R.devices

Current CRAN status: NOTE: 1, OK: 12

Version: 2.17.2
Check: package vignettes
Result: NOTE Package has ‘vignettes’ subdirectory but apparently no vignettes. Perhaps the ‘VignetteBuilder’ information is missing from the DESCRIPTION file? Flavor: r-release-macos-x86_64

Package R.filesets

Current CRAN status: OK: 13

Package R.huge

Current CRAN status: OK: 13

Package R.matlab

Current CRAN status: NOTE: 10, OK: 3

Version: 3.7.0
Check: Rd files
Result: NOTE checkRd: (-1) setOption.Matlab.Rd:37-39: Lost braces in \itemize; meant \describe ? checkRd: (-1) setOption.Matlab.Rd:40-41: Lost braces in \itemize; meant \describe ? Flavors: r-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc, r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc, r-devel-windows-x86_64, r-patched-linux-x86_64, r-release-linux-x86_64, r-release-macos-arm64, r-release-macos-x86_64, r-release-windows-x86_64

Package R.methodsS3

Current CRAN status: OK: 13

Package R.oo

Current CRAN status: OK: 13

Package R.rsp

Current CRAN status: OK: 13

Package R.utils

Current CRAN status: OK: 13

Package seguid

Current CRAN status: OK: 13

Package startup

Current CRAN status: OK: 13

Package TopDom

Current CRAN status: NOTE: 10, OK: 3

Version: 0.10.1
Check: Rd files
Result: NOTE checkRd: (-1) TopDom.Rd:21: Lost braces; missing escapes or markup? 21 | Recommended range is in {5, ..., 20}.} | ^ Flavors: r-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc, r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc, r-devel-windows-x86_64, r-patched-linux-x86_64, r-release-linux-x86_64, r-release-macos-arm64, r-release-macos-x86_64, r-release-windows-x86_64