CRAN Package Check Results for Package future

Last updated on 2025-04-30 09:54:17 CEST.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 1.40.0 10.57 296.65 307.22 ERROR
r-devel-linux-x86_64-debian-gcc 1.40.0 7.37 222.62 229.99 OK
r-devel-linux-x86_64-fedora-clang 1.40.0 506.77 ERROR
r-devel-linux-x86_64-fedora-gcc 1.40.0 527.09 ERROR
r-devel-windows-x86_64 1.40.0 14.00 354.00 368.00 OK
r-patched-linux-x86_64 1.40.0 12.85 282.10 294.95 ERROR
r-release-linux-x86_64 1.40.0 9.22 280.40 289.62 OK
r-release-macos-arm64 1.40.0 196.00 OK
r-release-macos-x86_64 1.40.0 519.00 OK
r-release-windows-x86_64 1.40.0 15.00 347.00 362.00 OK
r-oldrel-macos-arm64 1.40.0 235.00 OK
r-oldrel-macos-x86_64 1.40.0 511.00 OK
r-oldrel-windows-x86_64 1.40.0 17.00 396.00 413.00 OK

Check Details

Version: 1.40.0
Check: tests
Result: ERROR Running ‘test-FutureError.R’ [1s/1s] Running ‘test-FutureGlobals.R’ [1s/1s] Running ‘test-FutureRegistry.R’ [1s/2s] Running ‘test-adhoc_native_to_utf8.R’ [1s/1s] Running ‘test-backtrace.R’ [2s/4s] Running ‘test-bquote.R’ [1s/2s] Running ‘test-capture_journals.R’ [2s/3s] Running ‘test-cluster,worker-termination.R’ [1s/4s] Running ‘test-cluster-connection-clashes.R’ [2s/5s] Running ‘test-cluster-missing-future-pkg.R’ [1s/3s] Running ‘test-demo-fibonacci.R’ [2s/3s] Running ‘test-demo-mandelbrot.R’ [4s/6s] Running ‘test-dotdotdot.R’ [4s/7s] Running ‘test-early-signaling.R’ [1s/3s] Running ‘test-future,labels.R’ [3s/5s] Running ‘test-future,optsenvvars.R’ [1s/3s] Running ‘test-future.R’ [1s/2s] Running ‘test-futureAssign.R’ [4s/7s] Running ‘test-futureAssign_OP.R’ [6s/11s] Running ‘test-futureAssign_OP_with_environment.R’ [1s/1s] Running ‘test-futureAssign_OP_with_listenv.R’ [2s/2s] Running ‘test-futureCall.R’ [4s/9s] Running ‘test-futureOf.R’ [1s/1s] Running ‘test-futureOf_with_environment.R’ [1s/1s] Running ‘test-futureOf_with_listenv.R’ [1s/1s] Running ‘test-futureSessionInfo.R’ [1s/2s] Running ‘test-futures.R’ [20s/30s] Running ‘test-globals,NSE.R’ [2s/6s] Running ‘test-globals,S4methods.R’ [2s/4s] Running ‘test-globals,formulas.R’ [8s/13s] Running ‘test-globals,locals.R’ [2s/5s] Running ‘test-globals,manual.R’ [5s/12s] Running ‘test-globals,resolve.R’ [2s/4s] Running ‘test-globals,subassignment.R’ [6s/11s] Running ‘test-globals,toolarge.R’ [1s/2s] Running ‘test-globals,tricky.R’ [17s/27s] Running ‘test-globals,tricky_recursive.R’ [1s/3s] Running ‘test-globalsOf,tweaks.R’ [1s/1s] Running ‘test-immediateCondition.R’ [1s/3s] Running ‘test-interrupt-sets.R’ [2s/6s] Running ‘test-interrupt.R’ [1s/4s] Running ‘test-interrupts-from-worker-itself.R’ [1s/3s] Running ‘test-invalid-owner.R’ [2s/4s] Running ‘test-mandelbrot.R’ [1s/1s] Running ‘test-misuse-connections.R’ [1s/1s] Running ‘test-mpi.R’ [1s/1s] Running ‘test-multicore,multithreading.R’ [2s/2s] Running ‘test-multicore,worker-termination.R’ [1s/1s] Running ‘test-nbrOfWorkers.R’ [3s/7s] Running ‘test-nested_futures,mc.cores.R’ [4s/15s] Running ‘test-nested_futures.R’ [3s/8s] Running ‘test-non-exportable,connections.R’ [1s/2s] Running ‘test-objectSize.R’ [1s/1s] Running ‘test-plan.R’ [3s/13s] Running ‘test-relaying,muffle.R’ [1s/1s] Running ‘test-relaying,split.R’ [1s/1s] Running ‘test-relaying.R’ [2s/5s] Running ‘test-requestCore.R’ [1s/1s] Running ‘test-requestNode.R’ [1s/3s] Running ‘test-reserved-keyword-functions.R’ [1s/1s] Running ‘test-reset.R’ [3s/8s] Running ‘test-resolve.R’ [9s/22s] Running ‘test-resolved-non-blocking-test.R’ [0s/1s] Running ‘test-rng.R’ [28s/39s] Running ‘test-rng_utils.R’ [1s/1s] Running ‘test-sequential.R’ [1s/1s] Running ‘test-sessionDetails.R’ [1s/1s] Running ‘test-startup-onAttach.R’ [1s/1s] Running ‘test-startup-onLoad.R’ [1s/3s] Running ‘test-startup-parseCmdArgs.R’ [1s/1s] Running ‘test-stdout.R’ [5s/9s] Running ‘test-timeouts.R’ [1s/3s] Running ‘test-tweak.R’ [2s/4s] Running ‘test-utils.R’ [1s/1s] Running ‘test-uuid.R’ [1s/2s] Running ‘test-value.R’ [14s/29s] Running ‘test-whichIndex.R’ [1s/1s] Running the tests in ‘tests/test-early-signaling.R’ failed. Complete output: > ## This runs testme test script incl/testme/test-early-signaling.R > ## Don't edit - it was autogenerated by inst/testme/deploy.R > future:::testme("early-signaling") Test 'early-signaling' ... Sourcing 9 prologue scripts ... 01/09 prologue script '/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/future/testme/_prologue/001.load.R' 02/09 prologue script '/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/future/testme/_prologue/002.record-state.R' 03/09 prologue script '/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/future/testme/_prologue/030.imports.R' 04/09 prologue script '/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/future/testme/_prologue/050.utils.R' 05/09 prologue script '/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/future/testme/_prologue/090.context.R' 06/09 prologue script '/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/future/testme/_prologue/090.options.R' 07/09 prologue script '/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/future/testme/_prologue/091.envvars.R' 08/09 prologue script '/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/future/testme/_prologue/099.future-setup.R' 09/09 prologue script '/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/future/testme/_prologue/995.detrius-connections.R' Sourcing 9 prologue scripts ... done Running test script: '/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/future/testme/test-early-signaling.R' > library(future) [00:19:56.070] Option 'future.startup.script': TRUE [00:19:56.071] Future startup scripts considered: '.future.R', '~/.future.R' [00:19:56.071] Future startup scripts found: <none> > options(future.debug = FALSE) > message("*** Early signaling of conditions ...") *** Early signaling of conditions ... > message("*** Early signaling of conditions with sequential futures ...") *** Early signaling of conditions with sequential futures ... > plan(sequential) > f <- future({ + stop("bang!") + }) > r <- resolved(f) > stopifnot(r) > v <- tryCatch(value(f), error = identity) > stopifnot(inherits(v, "error")) > message("- with lazy evaluation ...") - with lazy evaluation ... > f <- future({ + stop("bang!") + }, lazy = TRUE) > r <- resolved(f) > v <- tryCatch(value(f), error = identity) > stopifnot(inherits(v, "error")) > plan(sequential, earlySignal = TRUE) > f <- tryCatch(future({ + stop("bang!") + }), error = identity) > stopifnot(inherits(f, "error")) > message("- with lazy evaluation ...") - with lazy evaluation ... > f <- future({ + stop("bang!") + }, lazy = TRUE) > r <- tryCatch(resolved(f), error = identity) > stopifnot(inherits(r, "error")) > v <- tryCatch(value(f), error = identity) > stopifnot(inherits(v, "error")) > f <- future({ + warning("careful!") + }, lazy = TRUE) > res <- tryCatch({ + r <- resolved(f) + }, condition = function(w) w) > str(res) List of 2 $ message: chr "careful!" $ call : language eval(quote({ { ... - attr(*, "class")= chr [1:3] "simpleWarning" "warning" "condition" > stopifnot(inherits(res, "warning")) > f <- future({ + message("hey!") + }, lazy = TRUE) > res <- tryCatch({ + r <- resolved(f) + }, condition = function(w) w) > stopifnot(inherits(res, "message")) > f <- future({ + signalCondition(simpleCondition("hmm")) + }, lazy = TRUE) > res <- tryCatch({ + r <- resolved(f) + }, condition = function(w) w) > stopifnot(inherits(res, "condition")) > message("*** Early signaling of conditions with sequential futures ... DONE") *** Early signaling of conditions with sequential futures ... DONE > message("Number of available cores: ", availableCores()) Number of available cores: 2 > message("*** Early signaling of conditions with multisession futures ...") *** Early signaling of conditions with multisession futures ... > plan(multisession) > f <- future({ + stop("bang!") + }) > Sys.sleep(0.2) > r <- resolved(f) > stopifnot(r) Error: r is not TRUE Execution halted Flavor: r-devel-linux-x86_64-debian-clang

Version: 1.40.0
Check: tests
Result: ERROR Running ‘test-FutureError.R’ Running ‘test-FutureGlobals.R’ Running ‘test-FutureRegistry.R’ Running ‘test-adhoc_native_to_utf8.R’ Running ‘test-backtrace.R’ [4s/12s] Running ‘test-bquote.R’ Running ‘test-capture_journals.R’ [3s/15s] Running ‘test-cluster,worker-termination.R’ Running ‘test-cluster-connection-clashes.R’ [3s/10s] Running ‘test-cluster-missing-future-pkg.R’ Running ‘test-demo-fibonacci.R’ Running ‘test-demo-mandelbrot.R’ [6s/13s] Running ‘test-dotdotdot.R’ [6s/11s] Running ‘test-early-signaling.R’ Running ‘test-future,labels.R’ [5s/14s] Running ‘test-future,optsenvvars.R’ Running ‘test-future.R’ Running ‘test-futureAssign.R’ [7s/21s] Running ‘test-futureAssign_OP.R’ [11s/38s] Running ‘test-futureAssign_OP_with_environment.R’ Running ‘test-futureAssign_OP_with_listenv.R’ Running ‘test-futureCall.R’ [5s/17s] Running ‘test-futureOf.R’ Running ‘test-futureOf_with_environment.R’ Running ‘test-futureOf_with_listenv.R’ Running ‘test-futureSessionInfo.R’ Running ‘test-futures.R’ [34s/85s] Running ‘test-globals,NSE.R’ [3s/15s] Running ‘test-globals,S4methods.R’ [4s/16s] Running ‘test-globals,formulas.R’ [13s/45s] Running ‘test-globals,locals.R’ [3s/13s] Running ‘test-globals,manual.R’ [8s/37s] Running ‘test-globals,resolve.R’ [2s/12s] Running ‘test-globals,subassignment.R’ [11s/30s] Running ‘test-globals,toolarge.R’ Running ‘test-globals,tricky.R’ [28s/80s] Running ‘test-globals,tricky_recursive.R’ [3s/13s] Running ‘test-globalsOf,tweaks.R’ Running ‘test-immediateCondition.R’ Running ‘test-interrupt-sets.R’ [3s/17s] Running ‘test-interrupt.R’ [2s/15s] Running ‘test-interrupts-from-worker-itself.R’ Running ‘test-invalid-owner.R’ [3s/12s] Running ‘test-mandelbrot.R’ Running ‘test-misuse-connections.R’ Running ‘test-mpi.R’ Running ‘test-multicore,multithreading.R’ [3s/15s] Running ‘test-multicore,worker-termination.R’ Running ‘test-nbrOfWorkers.R’ [5s/24s] Running ‘test-nested_futures,mc.cores.R’ [7s/41s] Running ‘test-nested_futures.R’ [5s/32s] Running ‘test-non-exportable,connections.R’ [2s/10s] Running ‘test-objectSize.R’ Running ‘test-plan.R’ [5s/55s] Running ‘test-relaying,muffle.R’ Running ‘test-relaying,split.R’ Running ‘test-relaying.R’ [4s/20s] Running ‘test-requestCore.R’ Running ‘test-requestNode.R’ [2s/12s] Running ‘test-reserved-keyword-functions.R’ Running ‘test-reset.R’ [3s/11s] Running ‘test-resolve.R’ [14s/56s] Running ‘test-resolved-non-blocking-test.R’ Running ‘test-rng.R’ [47s/94s] Running ‘test-rng_utils.R’ Running ‘test-sequential.R’ Running ‘test-sessionDetails.R’ Running ‘test-startup-onAttach.R’ Running ‘test-startup-onLoad.R’ Running ‘test-startup-parseCmdArgs.R’ Running ‘test-stdout.R’ [8s/18s] Running ‘test-timeouts.R’ Running ‘test-tweak.R’ Running ‘test-utils.R’ Running ‘test-uuid.R’ Running ‘test-value.R’ [22s/48s] Running ‘test-whichIndex.R’ Running the tests in ‘tests/test-early-signaling.R’ failed. Complete output: > ## This runs testme test script incl/testme/test-early-signaling.R > ## Don't edit - it was autogenerated by inst/testme/deploy.R > future:::testme("early-signaling") Test 'early-signaling' ... Sourcing 9 prologue scripts ... 01/09 prologue script '/data/gannet/ripley/R/packages/tests-clang/future.Rcheck/future/testme/_prologue/001.load.R' 02/09 prologue script '/data/gannet/ripley/R/packages/tests-clang/future.Rcheck/future/testme/_prologue/002.record-state.R' 03/09 prologue script '/data/gannet/ripley/R/packages/tests-clang/future.Rcheck/future/testme/_prologue/030.imports.R' 04/09 prologue script '/data/gannet/ripley/R/packages/tests-clang/future.Rcheck/future/testme/_prologue/050.utils.R' 05/09 prologue script '/data/gannet/ripley/R/packages/tests-clang/future.Rcheck/future/testme/_prologue/090.context.R' 06/09 prologue script '/data/gannet/ripley/R/packages/tests-clang/future.Rcheck/future/testme/_prologue/090.options.R' 07/09 prologue script '/data/gannet/ripley/R/packages/tests-clang/future.Rcheck/future/testme/_prologue/091.envvars.R' 08/09 prologue script '/data/gannet/ripley/R/packages/tests-clang/future.Rcheck/future/testme/_prologue/099.future-setup.R' 09/09 prologue script '/data/gannet/ripley/R/packages/tests-clang/future.Rcheck/future/testme/_prologue/995.detrius-connections.R' Sourcing 9 prologue scripts ... done Running test script: '/data/gannet/ripley/R/packages/tests-clang/future.Rcheck/future/testme/test-early-signaling.R' > library(future) [09:43:47.674] Option 'future.startup.script': TRUE [09:43:47.676] Future startup scripts considered: '.future.R', '~/.future.R' [09:43:47.676] Future startup scripts found: <none> > options(future.debug = FALSE) > message("*** Early signaling of conditions ...") *** Early signaling of conditions ... > message("*** Early signaling of conditions with sequential futures ...") *** Early signaling of conditions with sequential futures ... > plan(sequential) > f <- future({ + stop("bang!") + }) > r <- resolved(f) > stopifnot(r) > v <- tryCatch(value(f), error = identity) > stopifnot(inherits(v, "error")) > message("- with lazy evaluation ...") - with lazy evaluation ... > f <- future({ + stop("bang!") + }, lazy = TRUE) > r <- resolved(f) > v <- tryCatch(value(f), error = identity) > stopifnot(inherits(v, "error")) > plan(sequential, earlySignal = TRUE) > f <- tryCatch(future({ + stop("bang!") + }), error = identity) > stopifnot(inherits(f, "error")) > message("- with lazy evaluation ...") - with lazy evaluation ... > f <- future({ + stop("bang!") + }, lazy = TRUE) > r <- tryCatch(resolved(f), error = identity) > stopifnot(inherits(r, "error")) > v <- tryCatch(value(f), error = identity) > stopifnot(inherits(v, "error")) > f <- future({ + warning("careful!") + }, lazy = TRUE) > res <- tryCatch({ + r <- resolved(f) + }, condition = function(w) w) > str(res) List of 2 $ message: chr "careful!" $ call : language eval(quote({ { ... - attr(*, "class")= chr [1:3] "simpleWarning" "warning" "condition" > stopifnot(inherits(res, "warning")) > f <- future({ + message("hey!") + }, lazy = TRUE) > res <- tryCatch({ + r <- resolved(f) + }, condition = function(w) w) > stopifnot(inherits(res, "message")) > f <- future({ + signalCondition(simpleCondition("hmm")) + }, lazy = TRUE) > res <- tryCatch({ + r <- resolved(f) + }, condition = function(w) w) > stopifnot(inherits(res, "condition")) > message("*** Early signaling of conditions with sequential futures ... DONE") *** Early signaling of conditions with sequential futures ... DONE > message("Number of available cores: ", availableCores()) Number of available cores: 2 > message("*** Early signaling of conditions with multisession futures ...") *** Early signaling of conditions with multisession futures ... > plan(multisession) > f <- future({ + stop("bang!") + }) > Sys.sleep(0.2) > r <- resolved(f) > stopifnot(r) Error: r is not TRUE Execution halted Running the tests in ‘tests/test-globals,resolve.R’ failed. Complete output: > ## This runs testme test script incl/testme/test-globals,resolve.R > ## Don't edit - it was autogenerated by inst/testme/deploy.R > future:::testme("globals,resolve") Test 'globals,resolve' ... Sourcing 9 prologue scripts ... 01/09 prologue script '/data/gannet/ripley/R/packages/tests-clang/future.Rcheck/future/testme/_prologue/001.load.R' 02/09 prologue script '/data/gannet/ripley/R/packages/tests-clang/future.Rcheck/future/testme/_prologue/002.record-state.R' 03/09 prologue script '/data/gannet/ripley/R/packages/tests-clang/future.Rcheck/future/testme/_prologue/030.imports.R' 04/09 prologue script '/data/gannet/ripley/R/packages/tests-clang/future.Rcheck/future/testme/_prologue/050.utils.R' 05/09 prologue script '/data/gannet/ripley/R/packages/tests-clang/future.Rcheck/future/testme/_prologue/090.context.R' 06/09 prologue script '/data/gannet/ripley/R/packages/tests-clang/future.Rcheck/future/testme/_prologue/090.options.R' 07/09 prologue script '/data/gannet/ripley/R/packages/tests-clang/future.Rcheck/future/testme/_prologue/091.envvars.R' 08/09 prologue script '/data/gannet/ripley/R/packages/tests-clang/future.Rcheck/future/testme/_prologue/099.future-setup.R' 09/09 prologue script '/data/gannet/ripley/R/packages/tests-clang/future.Rcheck/future/testme/_prologue/995.detrius-connections.R' Sourcing 9 prologue scripts ... done Running test script: '/data/gannet/ripley/R/packages/tests-clang/future.Rcheck/future/testme/test-globals,resolve.R' > library(future) [09:49:25.214] Option 'future.startup.script': TRUE [09:49:25.216] Future startup scripts considered: '.future.R', '~/.future.R' [09:49:25.217] Future startup scripts found: <none> > library(listenv) > oopts <- c(oopts, options(future.globals.resolve = TRUE)) > setTimeLimit(cpu = 10, elapsed = 10, transient = TRUE) > message("*** Tricky use cases related to globals (part 2) ...") *** Tricky use cases related to globals (part 2) ... > plan(multisession, workers = 2) [09:49:25.230] plan(<name>, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [09:49:25.234] | plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = NA, init = TRUE) ... [09:49:25.235] | : all.equal() for FutureStrategyList ... [09:49:25.235] | : . New stack: [09:49:25.235] | : . List of 1 [09:49:25.235] | : . $ :function (..., workers = 2L, envir = parent.frame()) [09:49:25.235] | : . ..- attr(*, "class")= chr [1:6] "tweaked" "multisession" "cluster" "multiprocess" ... [09:49:25.235] | : . ..- attr(*, "init")= logi TRUE [09:49:25.235] | : . ..- attr(*, "factory")=function (workers = availableCores(), interrupts = TRUE, ...) [09:49:25.235] | : . .. ..- attr(*, "tweakable")= chr [1:10] "workers" "interrupts" "gc" "earlySignal" ... [09:49:25.235] | : . ..- attr(*, "tweakable")= chr [1:10] "workers" "interrupts" "gc" "earlySignal" ... [09:49:25.235] | : . ..- attr(*, "untweakable")= chr "persistent" [09:49:25.235] | : . ..- attr(*, "tweaks")=List of 1 [09:49:25.235] | : . .. ..$ workers: int 2 [09:49:25.235] | : . ..- attr(*, "call")= language plan(multisession, workers = 2L) [09:49:25.235] | : . - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [09:49:25.258] | : . Old stack: [09:49:25.258] | : . List of 1 [09:49:25.258] | : . $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [09:49:25.258] | : . ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [09:49:25.258] | : . ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [09:49:25.258] | : . .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [09:49:25.258] | : . ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [09:49:25.258] | : . ..- attr(*, "call")= language plan(sequential) [09:49:25.258] | : . - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [09:49:25.268] | : . Not identical [09:49:25.269] | : . all.equal() for future ... [09:49:25.269] | : . | List of 2 [09:49:25.269] | : . | $ target :function (..., workers = 2L, envir = parent.frame()) [09:49:25.269] | : . | ..- attr(*, "class")= chr [1:6] "tweaked" "multisession" "cluster" "multiprocess" ... [09:49:25.269] | : . | ..- attr(*, "init")= logi TRUE [09:49:25.269] | : . | ..- attr(*, "factory")=function (workers = availableCores(), interrupts = TRUE, ...) [09:49:25.269] | : . | .. ..- attr(*, "tweakable")= chr [1:10] "workers" "interrupts" "gc" "earlySignal" ... [09:49:25.269] | : . | ..- attr(*, "tweakable")= chr [1:10] "workers" "interrupts" "gc" "earlySignal" ... [09:49:25.269] | : . | ..- attr(*, "untweakable")= chr "persistent" [09:49:25.269] | : . | ..- attr(*, "tweaks")=List of 1 [09:49:25.269] | : . | .. ..$ workers: int 2 [09:49:25.269] | : . | ..- attr(*, "call")= language plan(multisession, workers = 2L) [09:49:25.269] | : . | $ current:function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [09:49:25.269] | : . | ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [09:49:25.269] | : . | ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [09:49:25.269] | : . | .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [09:49:25.269] | : . | ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [09:49:25.269] | : . | ..- attr(*, "call")= language plan(sequential) [09:49:25.299] | : . | Formals differ [09:49:25.299] | : . all.equal() for future ... done [09:49:25.300] | : . Future strategies differ at level 1 [09:49:25.300] | : all.equal() for FutureStrategyList ... done [09:49:25.300] | : plan(): Setting new future strategy stack: [09:49:25.301] | : List of future strategies: [09:49:25.301] | : 1. multisession: [09:49:25.301] | : - args: function (..., workers = 2L, envir = parent.frame()) [09:49:25.301] | : - tweaked: TRUE [09:49:25.301] | : - call: plan(multisession, workers = 2L) [09:49:25.303] | : List of 1 [09:49:25.303] | : $ :function (..., workers = 2L, envir = parent.frame()) [09:49:25.303] | : ..- attr(*, "class")= chr [1:6] "tweaked" "multisession" "cluster" "multiprocess" ... [09:49:25.303] | : ..- attr(*, "init")= logi TRUE [09:49:25.303] | : ..- attr(*, "factory")=function (workers = availableCores(), interrupts = TRUE, ...) [09:49:25.303] | : .. ..- attr(*, "tweakable")= chr [1:10] "workers" "interrupts" "gc" "earlySignal" ... [09:49:25.303] | : ..- attr(*, "tweakable")= chr [1:10] "workers" "interrupts" "gc" "earlySignal" ... [09:49:25.303] | : ..- attr(*, "untweakable")= chr "persistent" [09:49:25.303] | : ..- attr(*, "tweaks")=List of 1 [09:49:25.303] | : .. ..$ workers: int 2 [09:49:25.303] | : ..- attr(*, "call")= language plan(multisession, workers = 2L) [09:49:25.303] | : - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [09:49:25.338] | : plan(): plan_cleanup('sequential', 'uniprocess', 'future', 'function', cleanup = NA) ... [09:49:25.338] | : . plan(<character>, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [09:49:25.343] | : . | Getting current ("next") strategy: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [09:49:25.343] | : . plan(<FutureStrategy>, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [09:49:25.344] | : . Legacy shutdown of cluster workers ... [09:49:25.345] | : . | Stopping existing cluster ... [09:49:25.345] | : . | : No pre-existing cluster. Skipping [09:49:25.345] | : . | Stopping existing cluster ... done [09:49:25.346] | : . Legacy shutdown of cluster workers ... done [09:49:25.346] | : plan(): plan_cleanup('sequential', 'uniprocess', 'future', 'function', cleanup = NA) ... done [09:49:25.351] | : plan(): plan_init() of 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [09:49:25.351] | : . function (..., workers = 2L, envir = parent.frame()) [09:49:25.351] | : . - attr(*, "class")= chr [1:6] "tweaked" "multisession" "cluster" "multiprocess" ... [09:49:25.351] | : . - attr(*, "init")= logi TRUE [09:49:25.351] | : . - attr(*, "factory")=function (workers = availableCores(), interrupts = TRUE, ...) [09:49:25.351] | : . ..- attr(*, "tweakable")= chr [1:10] "workers" "interrupts" "gc" "earlySignal" ... [09:49:25.351] | : . - attr(*, "tweakable")= chr [1:10] "workers" "interrupts" "gc" "earlySignal" ... [09:49:25.351] | : . - attr(*, "untweakable")= chr "persistent" [09:49:25.351] | : . - attr(*, "tweaks")=List of 1 [09:49:25.351] | : . ..$ workers: int 2 [09:49:25.351] | : . - attr(*, "call")= language plan(multisession, workers = 2L) [09:49:25.375] | : . init: TRUE [09:49:25.376] | : . makeFutureBackend(<tweaked>) ... [09:49:25.376] | : . | Backend function: <'NULL'> [09:49:25.377] | : . | ClusterFutureBackend(..., persistent = FALSE, gc = TRUE, earlySignal = TRUE) ... [09:49:25.377] | : . | : workers: 2 [09:49:25.378] | : . | : getCluster() ... [09:49:25.378] | : . | : getCluster() ... done [09:49:25.383] | : . | : Stopping existing cluster ... [09:49:25.383] | : . | : . No pre-existing cluster. Skipping [09:49:25.384] | : . | : Stopping existing cluster ... done [09:49:25.384] | : . | : Starting new cluster ... [09:49:25.384] | : . | : . makeCluster(workers, ...) ... [09:49:25.385] | : . | : . | Arguments: [09:49:25.385] | : . | : . | List of 1 [09:49:25.385] | : . | : . | $ : int 2 [09:49:29.817] | : . | : . | Generated cluster UUID [09:49:29.818] | : . | : . | Cluster UUID: 'd64086e51cfa4a946a85ae7277b86087' [09:49:29.818] | : . | : . | Socket cluster with 2 nodes where 2 nodes are on host 'localhost' (R Under development (unstable) (2025-04-26 r88181), platform x86_64-pc-linux-gnu) [09:49:29.835] | : . | : . makeCluster(workers, ...) ... done [09:49:29.840] | : . | : . Socket cluster with 2 nodes where 2 nodes are on host 'localhost' (R Under development (unstable) (2025-04-26 r88181), platform x86_64-pc-linux-gnu) [09:49:29.850] | : . | : Starting new cluster ... done [09:49:29.850] | : . | : Number of workers: 2 [09:49:29.851] | : . | : Workers UUID: 'd64086e51cfa4a946a85ae7277b86087' [09:49:29.856] | : . | ClusterFutureBackend(..., persistent = FALSE, gc = TRUE, earlySignal = TRUE) ... done [09:49:29.856] | : . | Backend: <'MultisessionFutureBackend', 'ClusterFutureBackend', 'MultiprocessFutureBackend', 'FutureBackend', 'environment'> [09:49:29.857] | : . makeFutureBackend(<tweaked>) ... done [09:49:29.857] | : plan(): plan_init() of 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... done [09:49:29.858] | : plan(<character>, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [09:49:29.859] | : . Getting current ("next") strategy: 'FutureStrategy', 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [09:49:29.859] | : plan(<FutureStrategy>, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [09:49:29.864] | : plan(): nbrOfWorkers() = 2 [09:49:29.864] | plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = NA, init = TRUE) ... done [09:49:29.865] plan(<tweaked>, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done > env <- new.env() > env$a %<-% { + 5 + } Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [09:49:29.879] getGlobalsAndPackages() ... [09:49:29.880] | Searching for globals ... [09:49:29.923] | : globals found: [1] '{' [09:49:29.928] | Searching for globals ... DONE [09:49:29.928] | Resolving globals: TRUE [09:49:29.929] | Resolving any globals that are futures ... [09:49:29.929] | : globals: [1] '{' [09:49:29.930] | Resolving any globals that are futures ... DONE [09:49:29.930] | Search for packages associated with the globals ... [09:49:29.931] | : Packages associated with globals: [1] 'base' [09:49:29.936] | : Packages: [1] 'base' [09:49:29.937] | Search for packages associated with the globals ... DONE [09:49:29.937] | Packages after dropping 'base': [0] [09:49:29.938] | globals: [0] [09:49:29.938] | packages: [0] [09:49:29.939] getGlobalsAndPackages() ... done [09:49:29.946] run() for Future ('Future') ... [09:49:29.947] | state: 'created' [09:49:29.947] | plan(<character>, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [09:49:29.948] | plan(<tweaked>, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [09:49:29.948] | Using MultisessionFutureBackend ... [09:49:29.953] | : Launching futures ... [09:49:29.955] | : . launchFuture() for ClusterFutureBackend ... [09:49:29.955] | : . | Workers: [n=2] [09:49:29.955] | : . | Socket cluster with 2 nodes where 2 nodes are on host 'localhost' (R Under development (unstable) (2025-04-26 r88181), platform x86_64-pc-linux-gnu) [09:49:29.971] | : . | FutureRegistry: 'workers-d64086e51cfa4a946a85ae7277b86087' [09:49:29.971] | : . | requestWorker() ... [09:49:29.972] | : . | : requestNode() ... [09:49:29.972] | : . | : . Number of workers: 2 [09:49:29.977] | : . | : . Polling for a free worker ... [09:49:29.977] | : . | : . | FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'list', earlySignal = 0) ... [09:49:29.978] | : . | : . | : Created empty registry 'workers-d64086e51cfa4a946a85ae7277b86087' [09:49:29.978] | : . | : . | : Listing all futures [09:49:29.979] | : . | : . | : Number of registered futures: 0 [09:49:29.979] | : . | : . | FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'list', earlySignal = 0) ... done [09:49:29.980] | : . | : . | Total time: 0 [09:49:29.980] | : . | : . Polling for a free worker ... done [09:49:29.985] | : . | : . FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'list', earlySignal = 0) ... [09:49:29.985] | : . | : . | Listing all futures [09:49:29.986] | : . | : . | Number of registered futures: 0 [09:49:29.986] | : . | : . FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'list', earlySignal = 0) ... done [09:49:29.987] | : . | : . Index of first available worker: 1 [09:49:29.987] | : . | : . Validate that the worker is functional ... [09:49:30.572] | : . | : . | Worker is functional [09:49:30.572] | : . | : . requestNode() ... done [09:49:30.573] | : . | : . cluster node index: 1 [09:49:30.573] | : . | : requestWorker() ... done [09:49:30.574] | : . | : eraseGlobalEnvironment() ... [09:49:30.595] | : . | : eraseGlobalEnvironment() ... done [09:49:30.595] | : . | : launchFuture() ... [09:49:30.596] | : . | : . cluster node index: 1 [09:49:30.596] | : . | : . getFutureData() ... [09:49:30.597] | : . | : . | getFutureCore() ... [09:49:30.598] | : . | : . | : Packages needed by the future expression (n = 0): <none> [09:49:30.598] | : . | : . | getFutureCore() ... done [09:49:30.623] | : . | : . | getFutureCapture() ... [09:49:30.623] | : . | : . | getFutureCapture() ... done [09:49:30.624] | : . | : . | getFutureContext() ... [09:49:30.625] | : . | : . | : plan(<character>, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [09:49:30.625] | : . | : . | : . Getting stack without first strategy: [n=0] [09:49:30.626] | : . | : . | : plan(<character>, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [09:49:30.626] | : . | : . | : Packages needed by future strategies (n = 0): <none> [09:49:30.651] | : . | : . | getFutureContext() ... done [09:49:30.652] | : . | : . getFutureData() ... done [09:49:30.678] | : . | : . FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'add', earlySignal = 0) ... [09:49:30.678] | : . | : . | Appended future to position #1 [09:49:30.679] | : . | : . | Number of registered futures: 1 [09:49:30.679] | : . | : . FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'add', earlySignal = 0) ... done [09:49:30.680] | : . | : launchFuture() ... done [09:49:30.680] | : . | : MultisessionFuture started [09:49:30.681] | : . | launchFuture() for ClusterFutureBackend ... done [09:49:30.681] | : . Launching futures ... done [09:49:30.710] | : . Future launched: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [09:49:30.711] | : Using MultisessionFutureBackend ... done [09:49:30.711] | run() for Future ('MultisessionFuture') ... done > b %<-% { + "a" + } Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [09:49:30.713] | getGlobalsAndPackages() ... [09:49:30.742] | : Searching for globals ... [09:49:30.745] | : . globals found: [1] '{' [09:49:30.745] | : Searching for globals ... DONE [09:49:30.774] | : Resolving globals: TRUE [09:49:30.775] | : Resolving any globals that are futures ... [09:49:30.775] | : . globals: [1] '{' [09:49:30.776] | : Resolving any globals that are futures ... DONE [09:49:30.776] | : Search for packages associated with the globals ... [09:49:30.777] | : . Packages associated with globals: [1] 'base' [09:49:30.806] | : . Packages: [1] 'base' [09:49:30.807] | : Search for packages associated with the globals ... DONE [09:49:30.807] | : Packages after dropping 'base': [0] [09:49:30.808] | : globals: [0] [09:49:30.808] | : packages: [0] [09:49:30.809] | getGlobalsAndPackages() ... done [09:49:30.837] | run() for Future ('Future') ... [09:49:30.837] | : state: 'created' [09:49:30.838] | : plan(<character>, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [09:49:30.838] | : plan(<tweaked>, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [09:49:30.839] | : Using MultisessionFutureBackend ... [09:49:30.840] | : . Launching futures ... [09:49:30.863] | : . | launchFuture() for ClusterFutureBackend ... [09:49:30.864] | : . | : Workers: [n=2] [09:49:30.865] | : . | : Socket cluster with 2 nodes where 2 nodes are on host 'localhost' (R Under development (unstable) (2025-04-26 r88181), platform x86_64-pc-linux-gnu) [09:49:30.935] | : . | : FutureRegistry: 'workers-d64086e51cfa4a946a85ae7277b86087' [09:49:30.935] | : . | : requestWorker() ... [09:49:30.936] | : . | : . requestNode() ... [09:49:30.936] | : . | : . | Number of workers: 2 [09:49:30.937] | : . | : . | Polling for a free worker ... [09:49:30.937] | : . | : . | : FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'list', earlySignal = 0) ... [09:49:30.965] | : . | : . | : . Listing all futures [09:49:30.965] | : . | : . | : . Number of registered futures: 1 [09:49:30.966] | : . | : . | : FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'list', earlySignal = 0) ... done [09:49:30.966] | : . | : . | : Total time: 0 [09:49:30.967] | : . | : . | Polling for a free worker ... done [09:49:30.967] | : . | : . | FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'list', earlySignal = 0) ... [09:49:30.968] | : . | : . | : Listing all futures [09:49:30.968] | : . | : . | : Number of registered futures: 1 [09:49:30.996] | : . | : . | FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'list', earlySignal = 0) ... done [09:49:30.997] | : . | : . | Index of first available worker: 2 [09:49:30.997] | : . | : . | Validate that the worker is functional ... [09:49:32.187] | : . | : . | : Worker is functional [09:49:32.187] | : . | : . | requestNode() ... done [09:49:32.188] | : . | : . | cluster node index: 2 [09:49:32.188] | : . | : . requestWorker() ... done [09:49:32.189] | : . | : . eraseGlobalEnvironment() ... [09:49:32.205] | : . | : . eraseGlobalEnvironment() ... done [09:49:32.205] | : . | : . launchFuture() ... [09:49:32.206] | : . | : . | cluster node index: 2 [09:49:32.206] | : . | : . | getFutureData() ... [09:49:32.207] | : . | : . | : getFutureCore() ... [09:49:32.207] | : . | : . | : . Packages needed by the future expression (n = 0): <none> [09:49:32.208] | : . | : . | : getFutureCore() ... done [09:49:32.208] | : . | : . | : getFutureCapture() ... [09:49:32.229] | : . | : . | : getFutureCapture() ... done [09:49:32.229] | : . | : . | : getFutureContext() ... [09:49:32.230] | : . | : . | : . plan(<character>, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [09:49:32.230] | : . | : . | : . | Getting stack without first strategy: [n=0] [09:49:32.231] | : . | : . | : . plan(<character>, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [09:49:32.232] | : . | : . | : . Packages needed by future strategies (n = 0): <none> [09:49:32.232] | : . | : . | : getFutureContext() ... done [09:49:32.253] | : . | : . | getFutureData() ... done [09:49:32.257] | : . | : . | FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'add', earlySignal = 0) ... [09:49:32.338] | : . | : . | : Appended future to position #2 [09:49:32.359] | : . | : . | : Number of registered futures: 2 [09:49:32.359] | : . | : . | FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'add', earlySignal = 0) ... done [09:49:32.360] | : . | : . launchFuture() ... done [09:49:32.360] | : . | : . MultisessionFuture started [09:49:32.361] | : . | : launchFuture() for ClusterFutureBackend ... done [09:49:32.361] | : . | Launching futures ... done [09:49:32.362] | : . | Future launched: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [09:49:32.362] | : . Using MultisessionFutureBackend ... done [09:49:32.383] | : run() for Future ('MultisessionFuture') ... done > message(sprintf("b = %s\n", sQuote(b))) [09:49:32.386] | : result() for ClusterFuture ... [09:49:32.408] | : . assertValidConnection() ... [09:49:32.408] | : . | cluster node index: 2 [09:49:32.422] | : . assertValidConnection() ... done [09:49:32.424] | : . receiveMessageFromWorker() for ClusterFuture ... [09:49:32.425] | : . | cluster node index: 2 [09:49:33.465] | : . | [1] TRUE [09:49:33.466] | : . | received data: [09:49:33.467] | : . | List of 5 [09:49:33.467] | : . | $ type : chr "VALUE" [09:49:33.467] | : . | $ value :List of 13 [09:49:33.467] | : . | ..$ value : chr "a" [09:49:33.467] | : . | ..$ visible : logi TRUE [09:49:33.467] | : . | ..$ stdout : chr "" [09:49:33.467] | : . | ..$ conditions : list() [09:49:33.467] | : . | ..$ rng : logi FALSE [09:49:33.467] | : . | ..$ misuseGlobalEnv : NULL [09:49:33.467] | : . | ..$ misuseConnections:List of 3 [09:49:33.467] | : . | .. ..$ added : NULL [09:49:33.467] | : . | .. ..$ removed : NULL [09:49:33.467] | : . | .. ..$ replaced: NULL [09:49:33.467] | : . | ..$ misuseDevices : NULL [09:49:33.467] | : . | ..$ started : POSIXct[1:1], format: "2025-04-29 09:49:32" [09:49:33.467] | : . | ..$ finished : POSIXct[1:1], format: "2025-04-29 09:49:33" [09:49:33.467] | : . | ..$ session_uuid : chr "fa97d1ab01d298c98e186186ba84a326" [09:49:33.467] | : . | .. ..- attr(*, "source")=List of 5 [09:49:33.467] | : . | .. .. ..$ host : Named chr "gannet.stats.ox.ac.uk" [09:49:33.467] | : . | .. .. .. ..- attr(*, "names")= chr "HOST" [09:49:33.467] | : . | .. .. ..$ info : Named chr [1:8] "Linux" "6.13.5-100.fc40.x86_64" "#1 SMP PREEMPT_DYNAMIC Thu Feb 27 15:10:07 UTC 2025" "gannet.stats.ox.ac.uk" ... [09:49:33.467] | : . | .. .. .. ..- attr(*, "names")= chr [1:8] "sysname" "release" "version" "nodename" ... [09:49:33.467] | : . | .. .. ..$ pid : int 807350 [09:49:33.467] | : . | .. .. ..$ time : POSIXct[1:1], format: "2025-04-29 09:49:32" [09:49:33.467] | : . | .. .. ..$ random: int 2147483647 [09:49:33.467] | : . | ..$ r_info :List of 4 [09:49:33.467] | : . | .. ..$ version :Classes 'R_system_version', 'package_version', 'numeric_version' hidden list of 1 [09:49:33.467] | : . | .. .. ..$ : int [1:3] 4 6 0 [09:49:33.467] | : . | .. ..$ os : chr "unix" [09:49:33.467] | : . | .. ..$ os_name : chr "Linux" [09:49:33.467] | : . | .. ..$ captures_utf8: logi TRUE [09:49:33.467] | : . | ..$ version : chr "1.8" [09:49:33.467] | : . | ..- attr(*, "class")= chr "FutureResult" [09:49:33.467] | : . | $ success: logi TRUE [09:49:33.467] | : . | $ time : 'proc_time' Named num [1:5] 0.198 0.006 1.157 0 0 [09:49:33.467] | : . | ..- attr(*, "names")= chr [1:5] "user.self" "sys.self" "elapsed" "user.child" ... [09:49:33.467] | : . | $ tag : NULL [09:49:33.777] | : . | Received FutureResult [09:49:33.778] | : . | FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'remove', earlySignal = 0) ... [09:49:33.778] | : . | : Removed future from position #2 [09:49:33.795] | : . | : Number of registered futures: 1 [09:49:33.796] | : . | FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'remove', earlySignal = 0) ... done [09:49:33.796] | : . | Erased future from future backend [09:49:33.797] | : . | result() for ClusterFuture ... [09:49:33.798] | : . | : result already collected: FutureResult [09:49:33.815] | : . | result() for ClusterFuture ... done [09:49:33.815] | : . receiveMessageFromWorker() for ClusterFuture ... done [09:49:33.816] | : result() for ClusterFuture ... done [09:49:33.816] | : result() for ClusterFuture ... [09:49:33.817] | : . result already collected: FutureResult [09:49:33.817] | : result() for ClusterFuture ... done b = 'a' > y %<-% { + env[[b]] + } Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [09:49:33.836] | : getGlobalsAndPackages() ... [09:49:33.836] | : . Searching for globals ... [09:49:33.905] | : . | globals found: [4] '{', '[[', 'env', 'b' [09:49:33.905] | : . Searching for globals ... DONE [09:49:33.906] | : . Resolving globals: TRUE [09:49:33.906] | : . Resolving any globals that are futures ... [09:49:33.927] | : . | globals: [4] '{', '[[', 'env', 'b' [09:49:33.927] | : . Resolving any globals that are futures ... DONE [09:49:33.928] | : . Search for packages associated with the globals ... [09:49:33.929] | : . | Packages associated with globals: [1] 'base' [09:49:33.930] | : . | Packages: [1] 'base' [09:49:33.930] | : . Search for packages associated with the globals ... DONE [09:49:33.947] | : . Resolving futures part of globals (recursively) ... [09:49:33.949] | : . | resolve() on FutureGlobals ...resolve() on Globals ...resolve() on list ... [09:49:33.950] | : . | : recursive: 99 [09:49:33.971] | : . | : length: 2 [09:49:33.972] | : . | : elements: 'env', 'b' [09:49:33.972] | : . | : 'obj' is environment [09:49:33.973] | : . | : resolve(obj, ...) ... [09:49:33.974] | : . | : . resolve() on environment ... [09:49:33.995] | : . | : . | recursive: 98 [09:49:33.996] | : . | : . | elements: [1] '.future_a', 'a' [09:49:33.998] | : . | : . | isFutureResolved() ... [09:49:34.015] | : . | : . | : assertValidConnection() ... [09:49:34.016] | : . | : . | : . cluster node index: 1 [09:49:34.017] | : . | : . | : assertValidConnection() ... done [09:49:34.018] | : . | : . | : receiveMessageFromWorker() for ClusterFuture ... [09:49:34.035] | : . | : . | : . cluster node index: 1 [09:49:34.036] | : . | : . | : . [1] TRUE [09:49:34.037] | : . | : . | : . received data: [09:49:34.037] | : . | : . | : . List of 5 [09:49:34.037] | : . | : . | : . $ type : chr "VALUE" [09:49:34.037] | : . | : . | : . $ value :List of 13 [09:49:34.037] | : . | : . | : . ..$ value : num 5 [09:49:34.037] | : . | : . | : . ..$ visible : logi TRUE [09:49:34.037] | : . | : . | : . ..$ stdout : chr "" [09:49:34.037] | : . | : . | : . ..$ conditions : list() [09:49:34.037] | : . | : . | : . ..$ rng : logi FALSE [09:49:34.037] | : . | : . | : . ..$ misuseGlobalEnv : NULL [09:49:34.037] | : . | : . | : . ..$ misuseConnections:List of 3 [09:49:34.037] | : . | : . | : . .. ..$ added : NULL [09:49:34.037] | : . | : . | : . .. ..$ removed : NULL [09:49:34.037] | : . | : . | : . .. ..$ replaced: NULL [09:49:34.037] | : . | : . | : . ..$ misuseDevices : NULL [09:49:34.037] | : . | : . | : . ..$ started : POSIXct[1:1], format: "2025-04-29 09:49:30" [09:49:34.037] | : . | : . | : . ..$ finished : POSIXct[1:1], format: "2025-04-29 09:49:31" [09:49:34.037] | : . | : . | : . ..$ session_uuid : chr "96e82a246183bbd4e205b1aca014723c" [09:49:34.037] | : . | : . | : . .. ..- attr(*, "source")=List of 5 [09:49:34.037] | : . | : . | : . .. .. ..$ host : Named chr "gannet.stats.ox.ac.uk" [09:49:34.037] | : . | : . | : . .. .. .. ..- attr(*, "names")= chr "HOST" [09:49:34.037] | : . | : . | : . .. .. ..$ info : Named chr [1:8] "Linux" "6.13.5-100.fc40.x86_64" "#1 SMP PREEMPT_DYNAMIC Thu Feb 27 15:10:07 UTC 2025" "gannet.stats.ox.ac.uk" ... [09:49:34.037] | : . | : . | : . .. .. .. ..- attr(*, "names")= chr [1:8] "sysname" "release" "version" "nodename" ... [09:49:34.037] | : . | : . | : . .. .. ..$ pid : int 807349 [09:49:34.037] | : . | : . | : . .. .. ..$ time : POSIXct[1:1], format: "2025-04-29 09:49:30" [09:49:34.037] | : . | : . | : . .. .. ..$ random: int 2147483647 [09:49:34.037] | : . | : . | : . ..$ r_info :List of 4 [09:49:34.037] | : . | : . | : . .. ..$ version :Classes 'R_system_version', 'package_version', 'numeric_version' hidden list of 1 [09:49:34.037] | : . | : . | : . .. .. ..$ : int [1:3] 4 6 0 [09:49:34.037] | : . | : . | : . .. ..$ os : chr "unix" [09:49:34.037] | : . | : . | : . .. ..$ os_name : chr "Linux" [09:49:34.037] | : . | : . | : . .. ..$ captures_utf8: logi TRUE [09:49:34.037] | : . | : . | : . ..$ version : chr "1.8" [09:49:34.037] | : . | : . | : . ..- attr(*, "class")= chr "FutureResult" [09:49:34.037] | : . | : . | : . $ success: logi TRUE [09:49:34.037] | : . | : . | : . $ time : 'proc_time' Named num [1:5] 0.199 0.008 1.194 0 0 [09:49:34.037] | : . | : . | : . ..- attr(*, "names")= chr [1:5] "user.self" "sys.self" "elapsed" "user.child" ... [09:49:34.037] | : . | : . | : . $ tag : NULL [09:49:34.264] | : . | : . | : . Received FutureResult [09:49:34.264] | : . | : . | : . FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'remove', earlySignal = 0) ... [09:49:34.265] | : . | : . | : . | Removed future from position #1 [09:49:34.265] | : . | : . | : . | Number of registered futures: 0 [09:49:34.278] | : . | : . | : . FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'remove', earlySignal = 0) ... done [09:49:34.278] | : . | : . | : . Erased future from future backend [09:49:34.279] | : . | : . | : . result() for ClusterFuture ... [09:49:34.279] | : . | : . | : . | result already collected: FutureResult [09:49:34.279] | : . | : . | : . result() for ClusterFuture ... done [09:49:34.280] | : . | : . | : receiveMessageFromWorker() for ClusterFuture ... done [09:49:34.280] | : . | : . | isFutureResolved() ... done [09:49:34.281] | : . | : . | Future #1 [09:49:34.281] | : . | : . | result() for ClusterFuture ... [09:49:34.294] | : . | : . | : result already collected: FutureResult [09:49:34.294] | : . | : . | result() for ClusterFuture ... done [09:49:34.295] | : . | : . | result() for ClusterFuture ... [09:49:34.295] | : . | : . | : result already collected: FutureResult [09:49:34.296] | : . | : . | result() for ClusterFuture ... done [09:49:34.301] | : . | : . | A MultisessionFuture was resolved [09:49:34.313] | : . | : . | length: 0 (resolved future 1) [09:49:34.313] | : . | : . resolve() on environment ... done [09:49:34.314] | : . | : resolve(obj, ...) ... done [09:49:34.315] | : . | : length: 1 (resolved future 1) [09:49:34.316] | : . | : 'obj' is atomic [09:49:34.333] | : . | : length: 0 (resolved future 2) [09:49:34.333] | : . | resolve() on FutureGlobals ... doneresolve() on Globals ... doneresolve() on list ... done [09:49:34.334] | : . | globals: [2] 'env', 'b' [09:49:34.334] | : . Resolving futures part of globals (recursively) ... DONE [09:49:34.335] | : . Packages after dropping 'base': [0] [09:49:34.335] | : . globals: [2] 'env', 'b' [09:49:34.336] | : . packages: [0] [09:49:34.336] | : getGlobalsAndPackages() ... done [09:49:34.353] | : run() for Future ('Future') ... [09:49:34.353] | : . state: 'created' [09:49:34.354] | : . plan(<character>, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [09:49:34.354] | : . plan(<tweaked>, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [09:49:34.355] | : . Using MultisessionFutureBackend ... [09:49:34.355] | : . | Launching futures ... [09:49:34.368] | : . | : launchFuture() for ClusterFutureBackend ... [09:49:34.368] | : . | : . Workers: [n=2] [09:49:34.369] | : . | : . Socket cluster with 2 nodes where 2 nodes are on host 'localhost' (R Under development (unstable) (2025-04-26 r88181), platform x86_64-pc-linux-gnu) [09:49:34.387] | : . | : . FutureRegistry: 'workers-d64086e51cfa4a946a85ae7277b86087' [09:49:34.404] | : . | : . requestWorker() ... [09:49:34.404] | : . | : . | requestNode() ... [09:49:34.405] | : . | : . | : Number of workers: 2 [09:49:34.405] | : . | : . | : Polling for a free worker ... [09:49:34.405] | : . | : . | : . FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'list', earlySignal = 0) ... [09:49:34.406] | : . | : . | : . | Listing all futures [09:49:34.406] | : . | : . | : . | Number of registered futures: 0 [09:49:34.407] | : . | : . | : . FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'list', earlySignal = 0) ... done [09:49:34.407] | : . | : . | : . Total time: 0 [09:49:34.419] | : . | : . | : Polling for a free worker ... done [09:49:34.420] | : . | : . | : FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'list', earlySignal = 0) ... [09:49:34.420] | : . | : . | : . Listing all futures [09:49:34.421] | : . | : . | : . Number of registered futures: 0 [09:49:34.421] | : . | : . | : FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'list', earlySignal = 0) ... done [09:49:34.422] | : . | : . | : Index of first available worker: 1 [09:49:34.422] | : . | : . | : Validate that the worker is functional ... [09:49:34.927] | : . | : . | : . Worker is functional [09:49:34.927] | : . | : . | : requestNode() ... done [09:49:34.928] | : . | : . | : cluster node index: 1 [09:49:34.928] | : . | : . | requestWorker() ... done [09:49:34.928] | : . | : . | eraseGlobalEnvironment() ... [09:49:34.938] | : . | : . | eraseGlobalEnvironment() ... done [09:49:34.938] | : . | : . | launchFuture() ... [09:49:34.946] | : . | : . | : cluster node index: 1 [09:49:34.947] | : . | : . | : getFutureData() ... [09:49:34.947] | : . | : . | : . getFutureCore() ... [09:49:34.947] | : . | : . | : . | Packages needed by the future expression (n = 0): <none> [09:49:34.948] | : . | : . | : . getFutureCore() ... done [09:49:34.948] | : . | : . | : . getFutureCapture() ... [09:49:34.949] | : . | : . | : . getFutureCapture() ... done [09:49:34.949] | : . | : . | : . getFutureContext() ... [09:49:34.966] | : . | : . | : . | plan(<character>, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [09:49:34.967] | : . | : . | : . | : Getting stack without first strategy: [n=0] [09:49:34.967] | : . | : . | : . | plan(<character>, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [09:49:34.968] | : . | : . | : . | Packages needed by future strategies (n = 0): <none> [09:49:34.968] | : . | : . | : . getFutureContext() ... done [09:49:34.969] | : . | : . | : getFutureData() ... done [09:49:35.113] | : . | : . | : FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'add', earlySignal = 0) ... [09:49:35.114] | : . | : . | : . Appended future to position #1 [09:49:35.114] | : . | : . | : . Number of registered futures: 1 [09:49:35.115] | : . | : . | : FutureRegistry('workers-d64086e51cfa4a946a85ae7277b86087', action = 'add', earlySignal = 0) ... done [09:49:35.128] | : . | : . | launchFuture() ... done [09:49:35.128] | : . | : . | MultisessionFuture started [09:49:35.129] | : . | : . launchFuture() for ClusterFutureBackend ... done [09:49:35.129] | : . | : Launching futures ... done [09:49:35.129] | : . | : Future launched: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [09:49:35.130] | : . | Using MultisessionFutureBackend ... done [09:49:35.130] | : . run() for Future ('MultisessionFuture') ... done > message(sprintf("y = %s\n", y)) [09:49:35.131] | : . result() for ClusterFuture ... [09:49:35.144] | : . | assertValidConnection() ... [09:49:35.145] | : . | : cluster node index: 1 [09:49:35.146] | : . | assertValidConnection() ... done [09:49:35.146] | : . | receiveMessageFromWorker() for ClusterFuture ... [09:49:35.147] | : . | : cluster node index: 1 [09:49:35.238] | : . | : [1] TRUE Error in stop_if_not(isTRUE(ack)) : reached elapsed time limit Calls: <Anonymous> -> source -> withVisible -> eval -> eval -> source -> withVisible -> eval -> eval -> message -> sprintf -> local -> eval.parent -> eval -> eval -> eval -> eval -> value -> value.Future -> result -> result.ClusterFuture -> receiveMessageFromWorker -> stop_if_not [09:49:35.239] | : . | receiveMessageFromWorker() for ClusterFuture ... done [09:49:35.239] | : . result() for ClusterFuture ... done Execution halted Flavor: r-devel-linux-x86_64-fedora-clang

Version: 1.40.0
Check: tests
Result: ERROR Running ‘test-FutureError.R’ Running ‘test-FutureGlobals.R’ Running ‘test-FutureRegistry.R’ Running ‘test-adhoc_native_to_utf8.R’ Running ‘test-backtrace.R’ [4s/18s] Running ‘test-bquote.R’ Running ‘test-capture_journals.R’ [3s/10s] Running ‘test-cluster,worker-termination.R’ Running ‘test-cluster-connection-clashes.R’ [3s/16s] Running ‘test-cluster-missing-future-pkg.R’ Running ‘test-demo-fibonacci.R’ Running ‘test-demo-mandelbrot.R’ [6s/15s] Running ‘test-dotdotdot.R’ [6s/20s] Running ‘test-early-signaling.R’ Running ‘test-future,labels.R’ [4s/12s] Running ‘test-future,optsenvvars.R’ Running ‘test-future.R’ Running ‘test-futureAssign.R’ [7s/15s] Running ‘test-futureAssign_OP.R’ [11s/27s] Running ‘test-futureAssign_OP_with_environment.R’ Running ‘test-futureAssign_OP_with_listenv.R’ Running ‘test-futureCall.R’ [5s/14s] Running ‘test-futureOf.R’ Running ‘test-futureOf_with_environment.R’ Running ‘test-futureOf_with_listenv.R’ Running ‘test-futureSessionInfo.R’ Running ‘test-futures.R’ [33s/57s] Running ‘test-globals,NSE.R’ [3s/11s] Running ‘test-globals,S4methods.R’ [4s/11s] Running ‘test-globals,formulas.R’ [12s/27s] Running ‘test-globals,locals.R’ Running ‘test-globals,manual.R’ [9s/19s] Running ‘test-globals,resolve.R’ Running ‘test-globals,subassignment.R’ [10s/17s] Running ‘test-globals,toolarge.R’ Running ‘test-globals,tricky.R’ [28s/43s] Running ‘test-globals,tricky_recursive.R’ Running ‘test-globalsOf,tweaks.R’ Running ‘test-immediateCondition.R’ Running ‘test-interrupt-sets.R’ Running ‘test-interrupt.R’ Running ‘test-interrupts-from-worker-itself.R’ Running ‘test-invalid-owner.R’ Running ‘test-mandelbrot.R’ Running ‘test-misuse-connections.R’ Running ‘test-mpi.R’ Running ‘test-multicore,multithreading.R’ Running ‘test-multicore,worker-termination.R’ Running ‘test-nbrOfWorkers.R’ [5s/11s] Running ‘test-nested_futures,mc.cores.R’ [7s/26s] Running ‘test-nested_futures.R’ [6s/15s] Running ‘test-non-exportable,connections.R’ Running ‘test-objectSize.R’ Running ‘test-plan.R’ [5s/24s] Running ‘test-relaying,muffle.R’ Running ‘test-relaying,split.R’ Running ‘test-relaying.R’ Running ‘test-requestCore.R’ Running ‘test-requestNode.R’ Running ‘test-reserved-keyword-functions.R’ Running ‘test-reset.R’ Running ‘test-resolve.R’ [13s/25s] Running ‘test-resolved-non-blocking-test.R’ Running ‘test-rng.R’ [46s/51s] Running ‘test-rng_utils.R’ Running ‘test-sequential.R’ Running ‘test-sessionDetails.R’ Running ‘test-startup-onAttach.R’ Running ‘test-startup-onLoad.R’ Running ‘test-startup-parseCmdArgs.R’ Running ‘test-stdout.R’ [9s/11s] Running ‘test-timeouts.R’ Running ‘test-tweak.R’ Running ‘test-utils.R’ [16s/17s] Running ‘test-uuid.R’ Running ‘test-value.R’ [21s/30s] Running ‘test-whichIndex.R’ Running the tests in ‘tests/test-early-signaling.R’ failed. Complete output: > ## This runs testme test script incl/testme/test-early-signaling.R > ## Don't edit - it was autogenerated by inst/testme/deploy.R > future:::testme("early-signaling") Test 'early-signaling' ... Sourcing 9 prologue scripts ... 01/09 prologue script '/data/gannet/ripley/R/packages/tests-devel/future.Rcheck/future/testme/_prologue/001.load.R' 02/09 prologue script '/data/gannet/ripley/R/packages/tests-devel/future.Rcheck/future/testme/_prologue/002.record-state.R' 03/09 prologue script '/data/gannet/ripley/R/packages/tests-devel/future.Rcheck/future/testme/_prologue/030.imports.R' 04/09 prologue script '/data/gannet/ripley/R/packages/tests-devel/future.Rcheck/future/testme/_prologue/050.utils.R' 05/09 prologue script '/data/gannet/ripley/R/packages/tests-devel/future.Rcheck/future/testme/_prologue/090.context.R' 06/09 prologue script '/data/gannet/ripley/R/packages/tests-devel/future.Rcheck/future/testme/_prologue/090.options.R' 07/09 prologue script '/data/gannet/ripley/R/packages/tests-devel/future.Rcheck/future/testme/_prologue/091.envvars.R' 08/09 prologue script '/data/gannet/ripley/R/packages/tests-devel/future.Rcheck/future/testme/_prologue/099.future-setup.R' 09/09 prologue script '/data/gannet/ripley/R/packages/tests-devel/future.Rcheck/future/testme/_prologue/995.detrius-connections.R' Sourcing 9 prologue scripts ... done Running test script: '/data/gannet/ripley/R/packages/tests-devel/future.Rcheck/future/testme/test-early-signaling.R' > library(future) [16:32:45.835] Option 'future.startup.script': TRUE [16:32:45.839] Future startup scripts considered: '.future.R', '~/.future.R' [16:32:45.839] Future startup scripts found: <none> > options(future.debug = FALSE) > message("*** Early signaling of conditions ...") *** Early signaling of conditions ... > message("*** Early signaling of conditions with sequential futures ...") *** Early signaling of conditions with sequential futures ... > plan(sequential) > f <- future({ + stop("bang!") + }) > r <- resolved(f) > stopifnot(r) > v <- tryCatch(value(f), error = identity) > stopifnot(inherits(v, "error")) > message("- with lazy evaluation ...") - with lazy evaluation ... > f <- future({ + stop("bang!") + }, lazy = TRUE) > r <- resolved(f) > v <- tryCatch(value(f), error = identity) > stopifnot(inherits(v, "error")) > plan(sequential, earlySignal = TRUE) > f <- tryCatch(future({ + stop("bang!") + }), error = identity) > stopifnot(inherits(f, "error")) > message("- with lazy evaluation ...") - with lazy evaluation ... > f <- future({ + stop("bang!") + }, lazy = TRUE) > r <- tryCatch(resolved(f), error = identity) > stopifnot(inherits(r, "error")) > v <- tryCatch(value(f), error = identity) > stopifnot(inherits(v, "error")) > f <- future({ + warning("careful!") + }, lazy = TRUE) > res <- tryCatch({ + r <- resolved(f) + }, condition = function(w) w) > str(res) List of 2 $ message: chr "careful!" $ call : language eval(quote({ { ... - attr(*, "class")= chr [1:3] "simpleWarning" "warning" "condition" > stopifnot(inherits(res, "warning")) > f <- future({ + message("hey!") + }, lazy = TRUE) > res <- tryCatch({ + r <- resolved(f) + }, condition = function(w) w) > stopifnot(inherits(res, "message")) > f <- future({ + signalCondition(simpleCondition("hmm")) + }, lazy = TRUE) > res <- tryCatch({ + r <- resolved(f) + }, condition = function(w) w) > stopifnot(inherits(res, "condition")) > message("*** Early signaling of conditions with sequential futures ... DONE") *** Early signaling of conditions with sequential futures ... DONE > message("Number of available cores: ", availableCores()) Number of available cores: 2 > message("*** Early signaling of conditions with multisession futures ...") *** Early signaling of conditions with multisession futures ... > plan(multisession) > f <- future({ + stop("bang!") + }) > Sys.sleep(0.2) > r <- resolved(f) > stopifnot(r) Error: r is not TRUE Execution halted Flavor: r-devel-linux-x86_64-fedora-gcc

Version: 1.40.0
Check: tests
Result: ERROR Running ‘test-FutureError.R’ [1s/1s] Running ‘test-FutureGlobals.R’ [1s/1s] Running ‘test-FutureRegistry.R’ [1s/2s] Running ‘test-adhoc_native_to_utf8.R’ [1s/1s] Running ‘test-backtrace.R’ [2s/4s] Running ‘test-bquote.R’ [1s/1s] Running ‘test-capture_journals.R’ [2s/3s] Running ‘test-cluster,worker-termination.R’ [1s/3s] Running ‘test-cluster-connection-clashes.R’ [2s/4s] Running ‘test-cluster-missing-future-pkg.R’ [1s/3s] Running ‘test-demo-fibonacci.R’ [2s/2s] Running ‘test-demo-mandelbrot.R’ [3s/5s] Running ‘test-dotdotdot.R’ [4s/6s] Running ‘test-early-signaling.R’ [1s/2s] Running ‘test-future,labels.R’ [3s/4s] Running ‘test-future,optsenvvars.R’ [1s/2s] Running ‘test-future.R’ [1s/1s] Running ‘test-futureAssign.R’ [4s/6s] Running ‘test-futureAssign_OP.R’ [6s/10s] Running ‘test-futureAssign_OP_with_environment.R’ [1s/1s] Running ‘test-futureAssign_OP_with_listenv.R’ [1s/2s] Running ‘test-futureCall.R’ [4s/9s] Running ‘test-futureOf.R’ [1s/1s] Running ‘test-futureOf_with_environment.R’ [1s/1s] Running ‘test-futureOf_with_listenv.R’ [1s/1s] Running ‘test-futureSessionInfo.R’ [1s/2s] Running ‘test-futures.R’ [19s/27s] Running ‘test-globals,NSE.R’ [2s/4s] Running ‘test-globals,S4methods.R’ [2s/4s] Running ‘test-globals,formulas.R’ [7s/12s] Running ‘test-globals,locals.R’ [2s/5s] Running ‘test-globals,manual.R’ [5s/11s] Running ‘test-globals,resolve.R’ [2s/3s] Running ‘test-globals,subassignment.R’ [6s/10s] Running ‘test-globals,toolarge.R’ [1s/2s] Running ‘test-globals,tricky.R’ [16s/25s] Running ‘test-globals,tricky_recursive.R’ [1s/3s] Running ‘test-globalsOf,tweaks.R’ [1s/1s] Running ‘test-immediateCondition.R’ [1s/2s] Running ‘test-interrupt-sets.R’ [2s/5s] Running ‘test-interrupt.R’ [1s/4s] Running ‘test-interrupts-from-worker-itself.R’ [1s/3s] Running ‘test-invalid-owner.R’ [2s/4s] Running ‘test-mandelbrot.R’ [1s/1s] Running ‘test-misuse-connections.R’ [1s/1s] Running ‘test-mpi.R’ [1s/1s] Running ‘test-multicore,multithreading.R’ [2s/2s] Running ‘test-multicore,worker-termination.R’ [1s/1s] Running ‘test-nbrOfWorkers.R’ [3s/6s] Running ‘test-nested_futures,mc.cores.R’ [4s/16s] Running ‘test-nested_futures.R’ [3s/10s] Running ‘test-non-exportable,connections.R’ [1s/3s] Running ‘test-objectSize.R’ [1s/1s] Running ‘test-plan.R’ [3s/13s] Running ‘test-relaying,muffle.R’ [1s/1s] Running ‘test-relaying,split.R’ [1s/1s] Running ‘test-relaying.R’ [2s/5s] Running ‘test-requestCore.R’ [1s/2s] Running ‘test-requestNode.R’ [1s/4s] Running ‘test-reserved-keyword-functions.R’ [1s/1s] Running ‘test-reset.R’ [3s/5s] Running ‘test-resolve.R’ [9s/21s] Running ‘test-resolved-non-blocking-test.R’ [0s/1s] Running ‘test-rng.R’ [27s/36s] Running ‘test-rng_utils.R’ [1s/1s] Running ‘test-sequential.R’ [1s/1s] Running ‘test-sessionDetails.R’ [1s/1s] Running ‘test-startup-onAttach.R’ [1s/1s] Running ‘test-startup-onLoad.R’ [1s/2s] Running ‘test-startup-parseCmdArgs.R’ [1s/1s] Running ‘test-stdout.R’ [5s/8s] Running ‘test-timeouts.R’ [1s/3s] Running ‘test-tweak.R’ [2s/4s] Running ‘test-utils.R’ [1s/1s] Running ‘test-uuid.R’ [1s/2s] Running ‘test-value.R’ [14s/30s] Running ‘test-whichIndex.R’ [1s/1s] Running the tests in ‘tests/test-early-signaling.R’ failed. Complete output: > ## This runs testme test script incl/testme/test-early-signaling.R > ## Don't edit - it was autogenerated by inst/testme/deploy.R > future:::testme("early-signaling") Test 'early-signaling' ... Sourcing 9 prologue scripts ... 01/09 prologue script '/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/future/testme/_prologue/001.load.R' 02/09 prologue script '/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/future/testme/_prologue/002.record-state.R' 03/09 prologue script '/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/future/testme/_prologue/030.imports.R' 04/09 prologue script '/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/future/testme/_prologue/050.utils.R' 05/09 prologue script '/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/future/testme/_prologue/090.context.R' 06/09 prologue script '/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/future/testme/_prologue/090.options.R' 07/09 prologue script '/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/future/testme/_prologue/091.envvars.R' 08/09 prologue script '/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/future/testme/_prologue/099.future-setup.R' 09/09 prologue script '/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/future/testme/_prologue/995.detrius-connections.R' Sourcing 9 prologue scripts ... done Running test script: '/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/future/testme/test-early-signaling.R' > library(future) [00:08:16.883] Option 'future.startup.script': TRUE [00:08:16.883] Future startup scripts considered: '.future.R', '~/.future.R' [00:08:16.884] Future startup scripts found: <none> > options(future.debug = FALSE) > message("*** Early signaling of conditions ...") *** Early signaling of conditions ... > message("*** Early signaling of conditions with sequential futures ...") *** Early signaling of conditions with sequential futures ... > plan(sequential) > f <- future({ + stop("bang!") + }) > r <- resolved(f) > stopifnot(r) > v <- tryCatch(value(f), error = identity) > stopifnot(inherits(v, "error")) > message("- with lazy evaluation ...") - with lazy evaluation ... > f <- future({ + stop("bang!") + }, lazy = TRUE) > r <- resolved(f) > v <- tryCatch(value(f), error = identity) > stopifnot(inherits(v, "error")) > plan(sequential, earlySignal = TRUE) > f <- tryCatch(future({ + stop("bang!") + }), error = identity) > stopifnot(inherits(f, "error")) > message("- with lazy evaluation ...") - with lazy evaluation ... > f <- future({ + stop("bang!") + }, lazy = TRUE) > r <- tryCatch(resolved(f), error = identity) > stopifnot(inherits(r, "error")) > v <- tryCatch(value(f), error = identity) > stopifnot(inherits(v, "error")) > f <- future({ + warning("careful!") + }, lazy = TRUE) > res <- tryCatch({ + r <- resolved(f) + }, condition = function(w) w) > str(res) List of 2 $ message: chr "careful!" $ call : language eval(quote({ { ... - attr(*, "class")= chr [1:3] "simpleWarning" "warning" "condition" > stopifnot(inherits(res, "warning")) > f <- future({ + message("hey!") + }, lazy = TRUE) > res <- tryCatch({ + r <- resolved(f) + }, condition = function(w) w) > stopifnot(inherits(res, "message")) > f <- future({ + signalCondition(simpleCondition("hmm")) + }, lazy = TRUE) > res <- tryCatch({ + r <- resolved(f) + }, condition = function(w) w) > stopifnot(inherits(res, "condition")) > message("*** Early signaling of conditions with sequential futures ... DONE") *** Early signaling of conditions with sequential futures ... DONE > message("Number of available cores: ", availableCores()) Number of available cores: 2 > message("*** Early signaling of conditions with multisession futures ...") *** Early signaling of conditions with multisession futures ... > plan(multisession) > f <- future({ + stop("bang!") + }) > Sys.sleep(0.2) > r <- resolved(f) > stopifnot(r) Error: r is not TRUE Execution halted Flavor: r-patched-linux-x86_64