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 |
Current CRAN status: OK: 13
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
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
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
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
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
Current CRAN status: OK: 13
Current CRAN status: OK: 13
Current CRAN status: OK: 13
Current CRAN status: OK: 13
Current CRAN status: OK: 13
Current CRAN status: OK: 13
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
Current CRAN status: OK: 13
Current CRAN status: OK: 13
Current CRAN status: OK: 13
Current CRAN status: OK: 13
Current CRAN status: OK: 13
Current CRAN status: OK: 13
Current CRAN status: OK: 13
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
Current CRAN status: OK: 13
Current CRAN status: OK: 13
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
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
Current CRAN status: OK: 13
Current CRAN status: OK: 13
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
Current CRAN status: OK: 13
Current CRAN status: OK: 13
Current CRAN status: OK: 13
Current CRAN status: OK: 13
Current CRAN status: OK: 13
Current CRAN status: OK: 13
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