R Under development (unstable) (2025-05-08 r88190 ucrt) -- "Unsuffered Consequences" Copyright (C) 2025 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > ## This runs testme test script inst/testme/test-dotdotdot.R > ## Don't edit - it was autogenerated by inst/testme/deploy.R > future:::testme("dotdotdot") Test 'dotdotdot' ... Sourcing 9 prologue scripts ... 01/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_prologue/001.load.R' 02/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_prologue/002.record-state.R' 03/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_prologue/030.imports.R' 04/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_prologue/050.utils.R' 05/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_prologue/090.context.R' 06/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_prologue/090.options.R' 07/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_prologue/091.envvars.R' 08/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_prologue/099.future-setup.R' 09/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_prologue/995.detrius-connections.R' Sourcing 9 prologue scripts ... done Running test script: 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/test-dotdotdot.R' > library(future) [01:56:54.975] Option 'future.startup.script': TRUE [01:56:54.977] Future startup scripts considered: '.future.R', '~/.future.R' [01:56:54.977] Future startup scripts found: > library(listenv) > for (cores in 1:availCores) { + message(sprintf("Testing with %d cores ...", cores)) + options(mc.cores = cores) + message("*** Global a ..." ... [TRUNCATED] Testing with 1 cores ... *** Global argument '...' ... - plan('sequential') ... [01:56:55.019] plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.019] | plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = NA, init = TRUE) ... [01:56:55.019] | : all.equal() for FutureStrategyList ... [01:56:55.019] | : . New stack: [01:56:55.020] | : . List of 1 [01:56:55.020] | : . $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.020] | : . ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.020] | : . ..- attr(*, "init")= logi TRUE [01:56:55.020] | : . ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.020] | : . .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.020] | : . ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.020] | : . ..- attr(*, "call")= language plan(strategy, substitute = FALSE) [01:56:55.020] | : . - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.025] | : . Old stack: [01:56:55.025] | : . List of 1 [01:56:55.025] | : . $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.025] | : . ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.025] | : . ..- attr(*, "init")= logi TRUE [01:56:55.025] | : . ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.025] | : . .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.025] | : . ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.025] | : . ..- attr(*, "call")= language plan(sequential) [01:56:55.025] | : . - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.028] | : . Not identical [01:56:55.029] | : . all.equal() for future ... [01:56:55.029] | : . ' List of 2 [01:56:55.029] | : . ' $ target :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.029] | : . ' ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.029] | : . ' ..- attr(*, "init")= logi TRUE [01:56:55.029] | : . ' ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.029] | : . ' .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.029] | : . ' ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.029] | : . ' ..- attr(*, "call")= language plan(strategy, substitute = FALSE) [01:56:55.029] | : . ' $ current:function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.029] | : . ' ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.029] | : . ' ..- attr(*, "init")= logi TRUE [01:56:55.029] | : . ' ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.029] | : . ' .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.029] | : . ' ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.029] | : . ' ..- attr(*, "call")= language plan(sequential) [01:56:55.036] | : . all.equal() for future ... done [01:56:55.037] | : all.equal() for FutureStrategyList ... done [01:56:55.037] | : plan(): Skip setting new future backend stack because it is the same as the current one: [01:56:55.037] | : List of future strategies: [01:56:55.037] | : 1. sequential: [01:56:55.037] | : - args: function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame(), workers = "") [01:56:55.037] | : - tweaked: FALSE [01:56:55.037] | : - call: plan(sequential) [01:56:55.038] | plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = NA, init = TRUE) ... done [01:56:55.038] plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done ** Sum function 'A' with plan('sequential') ... function (x, ...) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, ...) } y } Arguments '...' exists: TRUE [01:56:55.039] future(..., label = NULL) ... [01:56:55.040] | lazy: FALSE [01:56:55.040] | stdout: TRUE [01:56:55.040] | conditions: [n=1] 'condition' [01:56:55.040] | gc: FALSE [01:56:55.040] | earlySignal: FALSE [01:56:55.041] | getGlobalsAndPackages() ... [01:56:55.041] | : Searching for globals ... [01:56:55.056] | : . globals found: [4] '{', 'sum', 'x', '...' [01:56:55.057] | : Searching for globals ... done [01:56:55.057] | : Resolving globals: FALSE [01:56:55.057] | : Tweak future expression to call with '...' arguments ... [01:56:55.057] | : . { [01:56:55.057] | : . "# future::getGlobalsAndPackages(): wrapping the original future" [01:56:55.057] | : . "# expression in do.call(), because function called uses '...' " [01:56:55.057] | : . "# as a global variable " [01:56:55.057] | : . do.call(function(...) { [01:56:55.057] | : . sum(x, ...) [01:56:55.057] | : . }, args = future.call.arguments) [01:56:55.057] | : . } [01:56:55.058] | : Tweak future expression to call with '...' arguments ... done [01:56:55.058] | : Search for packages associated with the globals ... [01:56:55.058] | : . Packages associated with globals: [1] 'base' [01:56:55.059] | : . Packages: [1] 'base' [01:56:55.059] | : Search for packages associated with the globals ... done [01:56:55.059] | : Packages after dropping 'base': [0] [01:56:55.059] | : globals: [2] 'x', 'future.call.arguments' [01:56:55.060] | : packages: [0] [01:56:55.060] | getGlobalsAndPackages() ... done [01:56:55.063] | run() for 'Future' (NULL) ... [01:56:55.063] | : state: 'created' [01:56:55.063] | : plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.063] | : . plan(): plan_init() of 'sequential', 'uniprocess', 'future', 'function' ... [01:56:55.064] | : . ' function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.064] | : . ' - attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.064] | : . ' - attr(*, "init")= logi TRUE [01:56:55.064] | : . ' - attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.064] | : . ' ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.064] | : . ' - attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.064] | : . ' - attr(*, "call")= language plan(sequential) [01:56:55.066] | : . ' init: TRUE [01:56:55.066] | : . ' makeFutureBackend() ... [01:56:55.067] | : . ' , Backend function: <'NULL'> [01:56:55.067] | : . ' , Evaluator tweak arguments: [n=0] [01:56:55.067] | : . ' , list() [01:56:55.067] | : . ' , Evaluator formal arguments: [n=2] [01:56:55.067] | : . ' , list() [01:56:55.068] | : . ' , Backend factory arguments: [n=2] [01:56:55.068] | : . ' , Dotted pair list of 2 [01:56:55.068] | : . ' , $ gc : logi FALSE [01:56:55.068] | : . ' , $ earlySignal: logi FALSE [01:56:55.069] | : . ' , Backend: <'SequentialFutureBackend', 'FutureBackend', 'environment'> [01:56:55.070] | : . ' makeFutureBackend() ... done [01:56:55.070] | : . plan(): plan_init() of 'sequential', 'uniprocess', 'future', 'function' ... done [01:56:55.070] | : plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:55.070] | : Using SequentialFutureBackend ... [01:56:55.070] | : . Number of futures since start: 0 (0 created, 0 launched, 0 finished) [01:56:55.071] | : . Launching futures ... [01:56:55.071] | : . ' launchFuture() for 'SequentialFutureBackend', 'FutureBackend', 'environment' ... [01:56:55.071] | : . ' , getFutureData() ... [01:56:55.071] | : . ' , ; getFutureCore() ... [01:56:55.072] | : . ' , ; ` Packages needed by the future expression (n = 0): [01:56:55.072] | : . ' , ; getFutureCore() ... done [01:56:55.072] | : . ' , ; getFutureCapture() ... [01:56:55.072] | : . ' , ; getFutureCapture() ... done [01:56:55.072] | : . ' , ; getFutureContext() ... [01:56:55.073] | : . ' , ; ` plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.073] | : . ' , ; ` | Getting stack without first backend: [n=0] [01:56:55.073] | : . ' , ; ` plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:55.073] | : . ' , ; ` Packages needed by future backend (n = 0): [01:56:55.073] | : . ' , ; getFutureContext() ... done [01:56:55.074] | : . ' , getFutureData() ... done [01:56:55.075] | : . ' , attachPackages() ... [01:56:55.075] | : . ' , ; packages: [n=1] 'future' [01:56:55.075] | : . ' , attachPackages() ... done [01:56:55.076] | : . ' , attachPackages() ... [01:56:55.076] | : . ' , ; packages: [n=0] [01:56:55.076] | : . ' , attachPackages() ... done [01:56:55.076] | : . ' , plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.077] | : . ' , ; Getting full stack: [n=1] 'sequential', 'uniprocess', 'future', 'function' [01:56:55.077] | : . ' , plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:55.077] | : . ' , plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [01:56:55.078] | : . ' , ; plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... [01:56:55.078] | : . ' , ; ` all.equal() for FutureStrategyList ... [01:56:55.078] | : . ' , ; ` | New stack: [01:56:55.078] | : . ' , ; ` | List of 1 [01:56:55.078] | : . ' , ; ` | $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.078] | : . ' , ; ` | ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.078] | : . ' , ; ` | ..- attr(*, "init")= logi TRUE [01:56:55.078] | : . ' , ; ` | ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.078] | : . ' , ; ` | .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.078] | : . ' , ; ` | ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.078] | : . ' , ; ` | ..- attr(*, "call")= language plan(strategiesR, .cleanup = FALSE, .init = FALSE) [01:56:55.078] | : . ' , ; ` | - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.081] | : . ' , ; ` | Old stack: [01:56:55.082] | : . ' , ; ` | List of 1 [01:56:55.082] | : . ' , ; ` | $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.082] | : . ' , ; ` | ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.082] | : . ' , ; ` | ..- attr(*, "init")= chr "done" [01:56:55.082] | : . ' , ; ` | ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.082] | : . ' , ; ` | .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.082] | : . ' , ; ` | ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.082] | : . ' , ; ` | ..- attr(*, "call")= language plan(sequential) [01:56:55.082] | : . ' , ; ` | ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.082] | : . ' , ; ` | .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.082] | : . ' , ; ` | .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.082] | : . ' , ; ` | - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.113] | : . ' , ; ` | Not identical [01:56:55.114] | : . ' , ; ` | all.equal() for future ... [01:56:55.114] | : . ' , ; ` | : List of 2 [01:56:55.114] | : . ' , ; ` | : $ target :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.114] | : . ' , ; ` | : ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.114] | : . ' , ; ` | : ..- attr(*, "init")= logi TRUE [01:56:55.114] | : . ' , ; ` | : ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.114] | : . ' , ; ` | : .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.114] | : . ' , ; ` | : ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.114] | : . ' , ; ` | : ..- attr(*, "call")= language plan(strategiesR, .cleanup = FALSE, .init = FALSE) [01:56:55.114] | : . ' , ; ` | : $ current:function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.114] | : . ' , ; ` | : ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.114] | : . ' , ; ` | : ..- attr(*, "init")= chr "done" [01:56:55.114] | : . ' , ; ` | : ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.114] | : . ' , ; ` | : .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.114] | : . ' , ; ` | : ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.114] | : . ' , ; ` | : ..- attr(*, "call")= language plan(sequential) [01:56:55.114] | : . ' , ; ` | : ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.114] | : . ' , ; ` | : .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.114] | : . ' , ; ` | : .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.121] | : . ' , ; ` | all.equal() for future ... done [01:56:55.121] | : . ' , ; ` all.equal() for FutureStrategyList ... done [01:56:55.121] | : . ' , ; ` plan(): Skip setting new future backend stack because it is the same as the current one: [01:56:55.121] | : . ' , ; ` List of future strategies: [01:56:55.121] | : . ' , ; ` 1. sequential: [01:56:55.121] | : . ' , ; ` - args: function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame(), workers = "") [01:56:55.121] | : . ' , ; ` - tweaked: FALSE [01:56:55.121] | : . ' , ; ` - call: plan(sequential) [01:56:55.122] | : . ' , ; plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... done [01:56:55.122] | : . ' , plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [01:56:55.122] | : . ' , assign_globals() ... [01:56:55.122] | : . ' , List of 2 [01:56:55.122] | : . ' , $ x : int [1:2] 1 2 [01:56:55.122] | : . ' , $ future.call.arguments:List of 1 [01:56:55.122] | : . ' , ..$ : num 3 [01:56:55.122] | : . ' , ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [01:56:55.122] | : . ' , - attr(*, "where")=List of 2 [01:56:55.122] | : . ' , ..$ x : [01:56:55.122] | : . ' , ..$ future.call.arguments: [01:56:55.122] | : . ' , - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [01:56:55.122] | : . ' , - attr(*, "resolved")= logi FALSE [01:56:55.122] | : . ' , - attr(*, "total_size")= num NA [01:56:55.122] | : . ' , - attr(*, "already-done")= logi TRUE [01:56:55.127] | : . ' , - copied 'x' to environment [01:56:55.127] | : . ' , - copied 'future.call.arguments' to environment [01:56:55.127] | : . ' , assign_globals() ... done [01:56:55.160] | : . ' , plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [01:56:55.160] | : . ' , ; plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [01:56:55.161] | : . ' , ; ` plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... [01:56:55.161] | : . ' , ; ` | all.equal() for FutureStrategyList ... [01:56:55.161] | : . ' , ; ` | : New stack: [01:56:55.161] | : . ' , ; ` | : List of 1 [01:56:55.161] | : . ' , ; ` | : $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.161] | : . ' , ; ` | : ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.161] | : . ' , ; ` | : ..- attr(*, "init")= chr "done" [01:56:55.161] | : . ' , ; ` | : ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.161] | : . ' , ; ` | : .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.161] | : . ' , ; ` | : ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.161] | : . ' , ; ` | : ..- attr(*, "call")= language plan(sequential) [01:56:55.161] | : . ' , ; ` | : ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.161] | : . ' , ; ` | : .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.161] | : . ' , ; ` | : .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.161] | : . ' , ; ` | : - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.165] | : . ' , ; ` | : Old stack: [01:56:55.165] | : . ' , ; ` | : List of 1 [01:56:55.165] | : . ' , ; ` | : $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.165] | : . ' , ; ` | : ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.165] | : . ' , ; ` | : ..- attr(*, "init")= chr "done" [01:56:55.165] | : . ' , ; ` | : ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.165] | : . ' , ; ` | : .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.165] | : . ' , ; ` | : ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.165] | : . ' , ; ` | : ..- attr(*, "call")= language plan(sequential) [01:56:55.165] | : . ' , ; ` | : ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.165] | : . ' , ; ` | : .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.165] | : . ' , ; ` | : .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.165] | : . ' , ; ` | : - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.169] | : . ' , ; ` | : Identical [01:56:55.170] | : . ' , ; ` | all.equal() for FutureStrategyList ... done [01:56:55.170] | : . ' , ; ` | plan(): Skip setting new future backend stack because it is the same as the current one: [01:56:55.170] | : . ' , ; ` | List of future strategies: [01:56:55.170] | : . ' , ; ` | 1. sequential: [01:56:55.170] | : . ' , ; ` | - args: function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame(), workers = "") [01:56:55.170] | : . ' , ; ` | - tweaked: FALSE [01:56:55.170] | : . ' , ; ` | - call: plan(sequential) [01:56:55.171] | : . ' , ; ` plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... done [01:56:55.171] | : . ' , ; plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [01:56:55.171] | : . ' , plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [01:56:55.174] | : . ' , SequentialFuture started (and completed) [01:56:55.175] | : . ' launchFuture() for 'SequentialFutureBackend', 'FutureBackend', 'environment' ... done [01:56:55.175] | : . Launching futures ... done [01:56:55.175] | : . Future launched: 'SequentialFuture', 'UniprocessFuture', 'Future' [01:56:55.176] | : Using SequentialFutureBackend ... done [01:56:55.176] | run() for 'Future' (NULL) ... done [01:56:55.176] future(..., label = NULL) ... done [01:56:55.177] value() for SequentialFuture (NULL) ... [01:56:55.177] | relay stdout ... [01:56:55.177] | relay stdout ... done [01:56:55.177] | check for misuse ... [01:56:55.177] | check for misuse ... done [01:56:55.177] value() for SequentialFuture (NULL) ... done [1] 6 ** Sum function 'B' with plan('sequential') ... function (x, ...) { sumt <- function(x) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, ...) } y } sumt(x) } Arguments '...' exists: TRUE [01:56:55.178] future(..., label = NULL) ... [01:56:55.178] | lazy: FALSE [01:56:55.178] | stdout: TRUE [01:56:55.179] | conditions: [n=1] 'condition' [01:56:55.179] | gc: FALSE [01:56:55.179] | earlySignal: FALSE [01:56:55.179] | getGlobalsAndPackages() ... [01:56:55.179] | : Searching for globals ... [01:56:55.188] | : . globals found: [4] '{', 'sum', 'x', '...' [01:56:55.188] | : Searching for globals ... done [01:56:55.188] | : Resolving globals: FALSE [01:56:55.188] | : Tweak future expression to call with '...' arguments ... [01:56:55.189] | : . { [01:56:55.189] | : . "# future::getGlobalsAndPackages(): wrapping the original future" [01:56:55.189] | : . "# expression in do.call(), because function called uses '...' " [01:56:55.189] | : . "# as a global variable " [01:56:55.189] | : . do.call(function(...) { [01:56:55.189] | : . sum(x, ...) [01:56:55.189] | : . }, args = future.call.arguments) [01:56:55.189] | : . } [01:56:55.189] | : Tweak future expression to call with '...' arguments ... done [01:56:55.189] | : Search for packages associated with the globals ... [01:56:55.190] | : . Packages associated with globals: [1] 'base' [01:56:55.190] | : . Packages: [1] 'base' [01:56:55.190] | : Search for packages associated with the globals ... done [01:56:55.190] | : Packages after dropping 'base': [0] [01:56:55.191] | : globals: [2] 'x', 'future.call.arguments' [01:56:55.191] | : packages: [0] [01:56:55.191] | getGlobalsAndPackages() ... done [01:56:55.191] | run() for 'Future' (NULL) ... [01:56:55.192] | : state: 'created' [01:56:55.192] | : plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.192] | : plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:55.192] | : Using SequentialFutureBackend ... [01:56:55.192] | : . Number of futures since start: 1 (1 created, 1 launched, 1 finished) [01:56:55.193] | : . Launching futures ... [01:56:55.193] | : . ' launchFuture() for 'SequentialFutureBackend', 'FutureBackend', 'environment' ... [01:56:55.193] | : . ' , getFutureData() ... [01:56:55.193] | : . ' , ; getFutureCore() ... [01:56:55.193] | : . ' , ; ` Packages needed by the future expression (n = 0): [01:56:55.194] | : . ' , ; getFutureCore() ... done [01:56:55.194] | : . ' , ; getFutureCapture() ... [01:56:55.194] | : . ' , ; getFutureCapture() ... done [01:56:55.194] | : . ' , ; getFutureContext() ... [01:56:55.194] | : . ' , ; ` plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.195] | : . ' , ; ` | Getting stack without first backend: [n=0] [01:56:55.195] | : . ' , ; ` plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:55.195] | : . ' , ; ` Packages needed by future backend (n = 0): [01:56:55.195] | : . ' , ; getFutureContext() ... done [01:56:55.195] | : . ' , getFutureData() ... done [01:56:55.196] | : . ' , attachPackages() ... [01:56:55.196] | : . ' , ; packages: [n=1] 'future' [01:56:55.196] | : . ' , attachPackages() ... done [01:56:55.196] | : . ' , attachPackages() ... [01:56:55.197] | : . ' , ; packages: [n=0] [01:56:55.197] | : . ' , attachPackages() ... done [01:56:55.197] | : . ' , plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.198] | : . ' , ; Getting full stack: [n=1] 'sequential', 'uniprocess', 'future', 'function' [01:56:55.198] | : . ' , plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:55.198] | : . ' , plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [01:56:55.199] | : . ' , ; plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... [01:56:55.199] | : . ' , ; ` all.equal() for FutureStrategyList ... [01:56:55.199] | : . ' , ; ` | New stack: [01:56:55.199] | : . ' , ; ` | List of 1 [01:56:55.199] | : . ' , ; ` | $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.199] | : . ' , ; ` | ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.199] | : . ' , ; ` | ..- attr(*, "init")= logi TRUE [01:56:55.199] | : . ' , ; ` | ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.199] | : . ' , ; ` | .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.199] | : . ' , ; ` | ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.199] | : . ' , ; ` | ..- attr(*, "call")= language plan(strategiesR, .cleanup = FALSE, .init = FALSE) [01:56:55.199] | : . ' , ; ` | - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.203] | : . ' , ; ` | Old stack: [01:56:55.203] | : . ' , ; ` | List of 1 [01:56:55.203] | : . ' , ; ` | $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.203] | : . ' , ; ` | ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.203] | : . ' , ; ` | ..- attr(*, "init")= chr "done" [01:56:55.203] | : . ' , ; ` | ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.203] | : . ' , ; ` | .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.203] | : . ' , ; ` | ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.203] | : . ' , ; ` | ..- attr(*, "call")= language plan(sequential) [01:56:55.203] | : . ' , ; ` | ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.203] | : . ' , ; ` | .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.203] | : . ' , ; ` | .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.203] | : . ' , ; ` | - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.208] | : . ' , ; ` | Not identical [01:56:55.208] | : . ' , ; ` | all.equal() for future ... [01:56:55.208] | : . ' , ; ` | : List of 2 [01:56:55.208] | : . ' , ; ` | : $ target :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.208] | : . ' , ; ` | : ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.208] | : . ' , ; ` | : ..- attr(*, "init")= logi TRUE [01:56:55.208] | : . ' , ; ` | : ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.208] | : . ' , ; ` | : .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.208] | : . ' , ; ` | : ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.208] | : . ' , ; ` | : ..- attr(*, "call")= language plan(strategiesR, .cleanup = FALSE, .init = FALSE) [01:56:55.208] | : . ' , ; ` | : $ current:function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.208] | : . ' , ; ` | : ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.208] | : . ' , ; ` | : ..- attr(*, "init")= chr "done" [01:56:55.208] | : . ' , ; ` | : ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.208] | : . ' , ; ` | : .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.208] | : . ' , ; ` | : ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.208] | : . ' , ; ` | : ..- attr(*, "call")= language plan(sequential) [01:56:55.208] | : . ' , ; ` | : ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.208] | : . ' , ; ` | : .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.208] | : . ' , ; ` | : .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.216] | : . ' , ; ` | all.equal() for future ... done [01:56:55.216] | : . ' , ; ` all.equal() for FutureStrategyList ... done [01:56:55.217] | : . ' , ; ` plan(): Skip setting new future backend stack because it is the same as the current one: [01:56:55.217] | : . ' , ; ` List of future strategies: [01:56:55.217] | : . ' , ; ` 1. sequential: [01:56:55.217] | : . ' , ; ` - args: function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame(), workers = "") [01:56:55.217] | : . ' , ; ` - tweaked: FALSE [01:56:55.217] | : . ' , ; ` - call: plan(sequential) [01:56:55.218] | : . ' , ; plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... done [01:56:55.218] | : . ' , plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [01:56:55.218] | : . ' , assign_globals() ... [01:56:55.218] | : . ' , List of 2 [01:56:55.218] | : . ' , $ x : int [1:2] 1 2 [01:56:55.218] | : . ' , $ future.call.arguments:List of 1 [01:56:55.218] | : . ' , ..$ : num 3 [01:56:55.218] | : . ' , ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [01:56:55.218] | : . ' , - attr(*, "where")=List of 2 [01:56:55.218] | : . ' , ..$ x : [01:56:55.218] | : . ' , ..$ future.call.arguments: [01:56:55.218] | : . ' , - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [01:56:55.218] | : . ' , - attr(*, "resolved")= logi FALSE [01:56:55.218] | : . ' , - attr(*, "total_size")= num NA [01:56:55.218] | : . ' , - attr(*, "already-done")= logi TRUE [01:56:55.224] | : . ' , - copied 'x' to environment [01:56:55.224] | : . ' , - copied 'future.call.arguments' to environment [01:56:55.224] | : . ' , assign_globals() ... done [01:56:55.226] | : . ' , plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [01:56:55.227] | : . ' , ; plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [01:56:55.227] | : . ' , ; ` plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... [01:56:55.227] | : . ' , ; ` | all.equal() for FutureStrategyList ... [01:56:55.227] | : . ' , ; ` | : New stack: [01:56:55.228] | : . ' , ; ` | : List of 1 [01:56:55.228] | : . ' , ; ` | : $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.228] | : . ' , ; ` | : ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.228] | : . ' , ; ` | : ..- attr(*, "init")= chr "done" [01:56:55.228] | : . ' , ; ` | : ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.228] | : . ' , ; ` | : .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.228] | : . ' , ; ` | : ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.228] | : . ' , ; ` | : ..- attr(*, "call")= language plan(sequential) [01:56:55.228] | : . ' , ; ` | : ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.228] | : . ' , ; ` | : .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.228] | : . ' , ; ` | : .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.228] | : . ' , ; ` | : - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.232] | : . ' , ; ` | : Old stack: [01:56:55.233] | : . ' , ; ` | : List of 1 [01:56:55.233] | : . ' , ; ` | : $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.233] | : . ' , ; ` | : ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.233] | : . ' , ; ` | : ..- attr(*, "init")= chr "done" [01:56:55.233] | : . ' , ; ` | : ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.233] | : . ' , ; ` | : .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.233] | : . ' , ; ` | : ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.233] | : . ' , ; ` | : ..- attr(*, "call")= language plan(sequential) [01:56:55.233] | : . ' , ; ` | : ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.233] | : . ' , ; ` | : .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.233] | : . ' , ; ` | : .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.233] | : . ' , ; ` | : - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.237] | : . ' , ; ` | : Identical [01:56:55.238] | : . ' , ; ` | all.equal() for FutureStrategyList ... done [01:56:55.238] | : . ' , ; ` | plan(): Skip setting new future backend stack because it is the same as the current one: [01:56:55.238] | : . ' , ; ` | List of future strategies: [01:56:55.238] | : . ' , ; ` | 1. sequential: [01:56:55.238] | : . ' , ; ` | - args: function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame(), workers = "") [01:56:55.238] | : . ' , ; ` | - tweaked: FALSE [01:56:55.238] | : . ' , ; ` | - call: plan(sequential) [01:56:55.239] | : . ' , ; ` plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... done [01:56:55.239] | : . ' , ; plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [01:56:55.239] | : . ' , plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [01:56:55.240] | : . ' , SequentialFuture started (and completed) [01:56:55.240] | : . ' launchFuture() for 'SequentialFutureBackend', 'FutureBackend', 'environment' ... done [01:56:55.240] | : . Launching futures ... done [01:56:55.240] | : . Future launched: 'SequentialFuture', 'UniprocessFuture', 'Future' [01:56:55.241] | : Using SequentialFutureBackend ... done [01:56:55.241] | run() for 'Future' (NULL) ... done [01:56:55.241] future(..., label = NULL) ... done [01:56:55.241] value() for SequentialFuture (NULL) ... [01:56:55.241] | relay stdout ... [01:56:55.242] | relay stdout ... done [01:56:55.242] | check for misuse ... [01:56:55.242] | check for misuse ... done [01:56:55.242] value() for SequentialFuture (NULL) ... done [1] 6 ** Sum function 'C' with plan('sequential') ... function (x, y) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, y) } y } Arguments '...' exists: FALSE [01:56:55.243] future(..., label = NULL) ... [01:56:55.243] | lazy: FALSE [01:56:55.243] | stdout: TRUE [01:56:55.243] | conditions: [n=1] 'condition' [01:56:55.244] | gc: FALSE [01:56:55.244] | earlySignal: FALSE [01:56:55.244] | getGlobalsAndPackages() ... [01:56:55.244] | : Searching for globals ... [01:56:55.252] | : . globals found: [4] '{', 'sum', 'x', 'y' [01:56:55.253] | : Searching for globals ... done [01:56:55.253] | : Resolving globals: FALSE [01:56:55.253] | : Search for packages associated with the globals ... [01:56:55.253] | : . Packages associated with globals: [1] 'base' [01:56:55.254] | : . Packages: [1] 'base' [01:56:55.254] | : Search for packages associated with the globals ... done [01:56:55.254] | : Packages after dropping 'base': [0] [01:56:55.254] | : globals: [2] 'x', 'y' [01:56:55.255] | : packages: [0] [01:56:55.255] | getGlobalsAndPackages() ... done [01:56:55.255] | run() for 'Future' (NULL) ... [01:56:55.255] | : state: 'created' [01:56:55.256] | : plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.256] | : plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:55.256] | : Using SequentialFutureBackend ... [01:56:55.256] | : . Number of futures since start: 2 (2 created, 2 launched, 2 finished) [01:56:55.256] | : . Launching futures ... [01:56:55.257] | : . ' launchFuture() for 'SequentialFutureBackend', 'FutureBackend', 'environment' ... [01:56:55.257] | : . ' , getFutureData() ... [01:56:55.257] | : . ' , ; getFutureCore() ... [01:56:55.257] | : . ' , ; ` Packages needed by the future expression (n = 0): [01:56:55.257] | : . ' , ; getFutureCore() ... done [01:56:55.258] | : . ' , ; getFutureCapture() ... [01:56:55.258] | : . ' , ; getFutureCapture() ... done [01:56:55.258] | : . ' , ; getFutureContext() ... [01:56:55.258] | : . ' , ; ` plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.258] | : . ' , ; ` | Getting stack without first backend: [n=0] [01:56:55.259] | : . ' , ; ` plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:55.259] | : . ' , ; ` Packages needed by future backend (n = 0): [01:56:55.259] | : . ' , ; getFutureContext() ... done [01:56:55.259] | : . ' , getFutureData() ... done [01:56:55.259] | : . ' , attachPackages() ... [01:56:55.260] | : . ' , ; packages: [n=1] 'future' [01:56:55.260] | : . ' , attachPackages() ... done [01:56:55.260] | : . ' , attachPackages() ... [01:56:55.260] | : . ' , ; packages: [n=0] [01:56:55.261] | : . ' , attachPackages() ... done [01:56:55.261] | : . ' , plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.261] | : . ' , ; Getting full stack: [n=1] 'sequential', 'uniprocess', 'future', 'function' [01:56:55.261] | : . ' , plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:55.262] | : . ' , plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [01:56:55.262] | : . ' , ; plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... [01:56:55.262] | : . ' , ; ` all.equal() for FutureStrategyList ... [01:56:55.263] | : . ' , ; ` | New stack: [01:56:55.263] | : . ' , ; ` | List of 1 [01:56:55.263] | : . ' , ; ` | $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.263] | : . ' , ; ` | ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.263] | : . ' , ; ` | ..- attr(*, "init")= logi TRUE [01:56:55.263] | : . ' , ; ` | ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.263] | : . ' , ; ` | .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.263] | : . ' , ; ` | ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.263] | : . ' , ; ` | ..- attr(*, "call")= language plan(strategiesR, .cleanup = FALSE, .init = FALSE) [01:56:55.263] | : . ' , ; ` | - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.268] | : . ' , ; ` | Old stack: [01:56:55.268] | : . ' , ; ` | List of 1 [01:56:55.268] | : . ' , ; ` | $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.268] | : . ' , ; ` | ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.268] | : . ' , ; ` | ..- attr(*, "init")= chr "done" [01:56:55.268] | : . ' , ; ` | ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.268] | : . ' , ; ` | .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.268] | : . ' , ; ` | ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.268] | : . ' , ; ` | ..- attr(*, "call")= language plan(sequential) [01:56:55.268] | : . ' , ; ` | ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.268] | : . ' , ; ` | .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.268] | : . ' , ; ` | .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.268] | : . ' , ; ` | - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.272] | : . ' , ; ` | Not identical [01:56:55.272] | : . ' , ; ` | all.equal() for future ... [01:56:55.273] | : . ' , ; ` | : List of 2 [01:56:55.273] | : . ' , ; ` | : $ target :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.273] | : . ' , ; ` | : ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.273] | : . ' , ; ` | : ..- attr(*, "init")= logi TRUE [01:56:55.273] | : . ' , ; ` | : ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.273] | : . ' , ; ` | : .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.273] | : . ' , ; ` | : ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.273] | : . ' , ; ` | : ..- attr(*, "call")= language plan(strategiesR, .cleanup = FALSE, .init = FALSE) [01:56:55.273] | : . ' , ; ` | : $ current:function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.273] | : . ' , ; ` | : ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.273] | : . ' , ; ` | : ..- attr(*, "init")= chr "done" [01:56:55.273] | : . ' , ; ` | : ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.273] | : . ' , ; ` | : .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.273] | : . ' , ; ` | : ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.273] | : . ' , ; ` | : ..- attr(*, "call")= language plan(sequential) [01:56:55.273] | : . ' , ; ` | : ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.273] | : . ' , ; ` | : .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.273] | : . ' , ; ` | : .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.279] | : . ' , ; ` | all.equal() for future ... done [01:56:55.279] | : . ' , ; ` all.equal() for FutureStrategyList ... done [01:56:55.280] | : . ' , ; ` plan(): Skip setting new future backend stack because it is the same as the current one: [01:56:55.280] | : . ' , ; ` List of future strategies: [01:56:55.280] | : . ' , ; ` 1. sequential: [01:56:55.280] | : . ' , ; ` - args: function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame(), workers = "") [01:56:55.280] | : . ' , ; ` - tweaked: FALSE [01:56:55.280] | : . ' , ; ` - call: plan(sequential) [01:56:55.280] | : . ' , ; plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... done [01:56:55.281] | : . ' , plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [01:56:55.281] | : . ' , assign_globals() ... [01:56:55.281] | : . ' , List of 2 [01:56:55.281] | : . ' , $ x: int [1:2] 1 2 [01:56:55.281] | : . ' , $ y: num 3 [01:56:55.281] | : . ' , - attr(*, "where")=List of 2 [01:56:55.281] | : . ' , ..$ x: [01:56:55.281] | : . ' , ..$ y: [01:56:55.281] | : . ' , - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [01:56:55.281] | : . ' , - attr(*, "resolved")= logi FALSE [01:56:55.281] | : . ' , - attr(*, "total_size")= num NA [01:56:55.281] | : . ' , - attr(*, "already-done")= logi TRUE [01:56:55.285] | : . ' , - copied 'x' to environment [01:56:55.285] | : . ' , - copied 'y' to environment [01:56:55.285] | : . ' , assign_globals() ... done [01:56:55.287] | : . ' , plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [01:56:55.287] | : . ' , ; plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [01:56:55.288] | : . ' , ; ` plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... [01:56:55.288] | : . ' , ; ` | all.equal() for FutureStrategyList ... [01:56:55.288] | : . ' , ; ` | : New stack: [01:56:55.288] | : . ' , ; ` | : List of 1 [01:56:55.288] | : . ' , ; ` | : $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.288] | : . ' , ; ` | : ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.288] | : . ' , ; ` | : ..- attr(*, "init")= chr "done" [01:56:55.288] | : . ' , ; ` | : ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.288] | : . ' , ; ` | : .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.288] | : . ' , ; ` | : ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.288] | : . ' , ; ` | : ..- attr(*, "call")= language plan(sequential) [01:56:55.288] | : . ' , ; ` | : ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.288] | : . ' , ; ` | : .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.288] | : . ' , ; ` | : .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.288] | : . ' , ; ` | : - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.292] | : . ' , ; ` | : Old stack: [01:56:55.292] | : . ' , ; ` | : List of 1 [01:56:55.292] | : . ' , ; ` | : $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.292] | : . ' , ; ` | : ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.292] | : . ' , ; ` | : ..- attr(*, "init")= chr "done" [01:56:55.292] | : . ' , ; ` | : ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.292] | : . ' , ; ` | : .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.292] | : . ' , ; ` | : ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.292] | : . ' , ; ` | : ..- attr(*, "call")= language plan(sequential) [01:56:55.292] | : . ' , ; ` | : ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.292] | : . ' , ; ` | : .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.292] | : . ' , ; ` | : .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.292] | : . ' , ; ` | : - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.296] | : . ' , ; ` | : Identical [01:56:55.296] | : . ' , ; ` | all.equal() for FutureStrategyList ... done [01:56:55.297] | : . ' , ; ` | plan(): Skip setting new future backend stack because it is the same as the current one: [01:56:55.297] | : . ' , ; ` | List of future strategies: [01:56:55.297] | : . ' , ; ` | 1. sequential: [01:56:55.297] | : . ' , ; ` | - args: function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame(), workers = "") [01:56:55.297] | : . ' , ; ` | - tweaked: FALSE [01:56:55.297] | : . ' , ; ` | - call: plan(sequential) [01:56:55.298] | : . ' , ; ` plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... done [01:56:55.298] | : . ' , ; plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [01:56:55.298] | : . ' , plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [01:56:55.298] | : . ' , SequentialFuture started (and completed) [01:56:55.299] | : . ' launchFuture() for 'SequentialFutureBackend', 'FutureBackend', 'environment' ... done [01:56:55.299] | : . Launching futures ... done [01:56:55.299] | : . Future launched: 'SequentialFuture', 'UniprocessFuture', 'Future' [01:56:55.299] | : Using SequentialFutureBackend ... done [01:56:55.299] | run() for 'Future' (NULL) ... done [01:56:55.300] future(..., label = NULL) ... done [01:56:55.300] value() for SequentialFuture (NULL) ... [01:56:55.300] | relay stdout ... [01:56:55.300] | relay stdout ... done [01:56:55.300] | check for misuse ... [01:56:55.301] | check for misuse ... done [01:56:55.301] value() for SequentialFuture (NULL) ... done [1] 6 ** Sum function 'D' with plan('sequential') ... function (x, y) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, y, ...) } y } Arguments '...' exists: FALSE [01:56:55.301] future(..., label = NULL) ... [01:56:55.301] | lazy: FALSE [01:56:55.302] | stdout: TRUE [01:56:55.302] | conditions: [n=1] 'condition' [01:56:55.302] | gc: FALSE [01:56:55.302] | earlySignal: FALSE [01:56:55.302] | getGlobalsAndPackages() ... [01:56:55.302] | : Searching for globals ... [01:56:55.311] | : . globals found: [5] '{', 'sum', 'x', 'y', '...' [01:56:55.311] | : Searching for globals ... done [01:56:55.311] | : Resolving globals: FALSE [01:56:55.311] | : Tweak future expression to call with '...' arguments ... [01:56:55.312] | : . Search for packages associated with the globals ... [01:56:55.312] | : . ' Packages associated with globals: [1] 'base' [01:56:55.312] | : . ' Packages: [1] 'base' [01:56:55.312] | : . Search for packages associated with the globals ... done [01:56:55.313] | : . Packages after dropping 'base': [0] [01:56:55.313] | : . globals: [2] 'x', 'y' [01:56:55.313] | : . packages: [0] [01:56:55.313] | : Tweak future expression to call with '...' arguments ... done [01:56:55.313] | : run() for 'Future' (NULL) ... [01:56:55.314] | : . state: 'created' [01:56:55.314] | : . plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.314] | : . plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:55.314] | : . Using SequentialFutureBackend ... [01:56:55.314] | : . ' Number of futures since start: 3 (3 created, 3 launched, 3 finished) [01:56:55.315] | : . ' Launching futures ... [01:56:55.315] | : . ' , launchFuture() for 'SequentialFutureBackend', 'FutureBackend', 'environment' ... [01:56:55.315] | : . ' , ; getFutureData() ... [01:56:55.315] | : . ' , ; ` getFutureCore() ... [01:56:55.315] | : . ' , ; ` | Packages needed by the future expression (n = 0): [01:56:55.315] | : . ' , ; ` getFutureCore() ... done [01:56:55.316] | : . ' , ; ` getFutureCapture() ... [01:56:55.316] | : . ' , ; ` getFutureCapture() ... done [01:56:55.316] | : . ' , ; ` getFutureContext() ... [01:56:55.316] | : . ' , ; ` | plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.316] | : . ' , ; ` | : Getting stack without first backend: [n=0] [01:56:55.316] | : . ' , ; ` | plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:55.317] | : . ' , ; ` | Packages needed by future backend (n = 0): [01:56:55.317] | : . ' , ; ` getFutureContext() ... done [01:56:55.317] | : . ' , ; getFutureData() ... done [01:56:55.317] | : . ' , ; attachPackages() ... [01:56:55.317] | : . ' , ; ` packages: [n=1] 'future' [01:56:55.318] | : . ' , ; attachPackages() ... done [01:56:55.318] | : . ' , ; attachPackages() ... [01:56:55.318] | : . ' , ; ` packages: [n=0] [01:56:55.318] | : . ' , ; attachPackages() ... done [01:56:55.319] | : . ' , ; plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.319] | : . ' , ; ` Getting full stack: [n=1] 'sequential', 'uniprocess', 'future', 'function' [01:56:55.319] | : . ' , ; plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:55.319] | : . ' , ; plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [01:56:55.320] | : . ' , ; ` plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... [01:56:55.320] | : . ' , ; ` | all.equal() for FutureStrategyList ... [01:56:55.320] | : . ' , ; ` | : New stack: [01:56:55.320] | : . ' , ; ` | : List of 1 [01:56:55.320] | : . ' , ; ` | : $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.320] | : . ' , ; ` | : ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.320] | : . ' , ; ` | : ..- attr(*, "init")= logi TRUE [01:56:55.320] | : . ' , ; ` | : ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.320] | : . ' , ; ` | : .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.320] | : . ' , ; ` | : ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.320] | : . ' , ; ` | : ..- attr(*, "call")= language plan(strategiesR, .cleanup = FALSE, .init = FALSE) [01:56:55.320] | : . ' , ; ` | : - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.323] | : . ' , ; ` | : Old stack: [01:56:55.324] | : . ' , ; ` | : List of 1 [01:56:55.324] | : . ' , ; ` | : $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.324] | : . ' , ; ` | : ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.324] | : . ' , ; ` | : ..- attr(*, "init")= chr "done" [01:56:55.324] | : . ' , ; ` | : ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.324] | : . ' , ; ` | : .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.324] | : . ' , ; ` | : ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.324] | : . ' , ; ` | : ..- attr(*, "call")= language plan(sequential) [01:56:55.324] | : . ' , ; ` | : ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.324] | : . ' , ; ` | : .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.324] | : . ' , ; ` | : .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.324] | : . ' , ; ` | : - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.327] | : . ' , ; ` | : Not identical [01:56:55.328] | : . ' , ; ` | : all.equal() for future ... [01:56:55.328] | : . ' , ; ` | : . List of 2 [01:56:55.328] | : . ' , ; ` | : . $ target :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.328] | : . ' , ; ` | : . ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.328] | : . ' , ; ` | : . ..- attr(*, "init")= logi TRUE [01:56:55.328] | : . ' , ; ` | : . ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.328] | : . ' , ; ` | : . .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.328] | : . ' , ; ` | : . ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.328] | : . ' , ; ` | : . ..- attr(*, "call")= language plan(strategiesR, .cleanup = FALSE, .init = FALSE) [01:56:55.328] | : . ' , ; ` | : . $ current:function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.328] | : . ' , ; ` | : . ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.328] | : . ' , ; ` | : . ..- attr(*, "init")= chr "done" [01:56:55.328] | : . ' , ; ` | : . ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.328] | : . ' , ; ` | : . .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.328] | : . ' , ; ` | : . ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.328] | : . ' , ; ` | : . ..- attr(*, "call")= language plan(sequential) [01:56:55.328] | : . ' , ; ` | : . ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.328] | : . ' , ; ` | : . .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.328] | : . ' , ; ` | : . .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.334] | : . ' , ; ` | : all.equal() for future ... done [01:56:55.335] | : . ' , ; ` | all.equal() for FutureStrategyList ... done [01:56:55.335] | : . ' , ; ` | plan(): Skip setting new future backend stack because it is the same as the current one: [01:56:55.335] | : . ' , ; ` | List of future strategies: [01:56:55.335] | : . ' , ; ` | 1. sequential: [01:56:55.335] | : . ' , ; ` | - args: function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame(), workers = "") [01:56:55.335] | : . ' , ; ` | - tweaked: FALSE [01:56:55.335] | : . ' , ; ` | - call: plan(sequential) [01:56:55.336] | : . ' , ; ` plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... done [01:56:55.336] | : . ' , ; plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [01:56:55.336] | : . ' , ; assign_globals() ... [01:56:55.336] | : . ' , ; List of 2 [01:56:55.336] | : . ' , ; $ x: int [1:2] 1 2 [01:56:55.336] | : . ' , ; $ y: num 3 [01:56:55.336] | : . ' , ; - attr(*, "where")=List of 2 [01:56:55.336] | : . ' , ; ..$ x: [01:56:55.336] | : . ' , ; ..$ y: [01:56:55.336] | : . ' , ; - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [01:56:55.336] | : . ' , ; - attr(*, "resolved")= logi FALSE [01:56:55.336] | : . ' , ; - attr(*, "total_size")= num NA [01:56:55.336] | : . ' , ; - attr(*, "already-done")= logi TRUE [01:56:55.340] | : . ' , ; - copied 'x' to environment [01:56:55.340] | : . ' , ; - copied 'y' to environment [01:56:55.340] | : . ' , ; assign_globals() ... done [01:56:55.343] | : . ' , ; plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [01:56:55.344] | : . ' , ; ` plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [01:56:55.344] | : . ' , ; ` | plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... [01:56:55.344] | : . ' , ; ` | : all.equal() for FutureStrategyList ... [01:56:55.344] | : . ' , ; ` | : . New stack: [01:56:55.344] | : . ' , ; ` | : . List of 1 [01:56:55.344] | : . ' , ; ` | : . $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.344] | : . ' , ; ` | : . ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.344] | : . ' , ; ` | : . ..- attr(*, "init")= chr "done" [01:56:55.344] | : . ' , ; ` | : . ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.344] | : . ' , ; ` | : . .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.344] | : . ' , ; ` | : . ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.344] | : . ' , ; ` | : . ..- attr(*, "call")= language plan(sequential) [01:56:55.344] | : . ' , ; ` | : . ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.344] | : . ' , ; ` | : . .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.344] | : . ' , ; ` | : . .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.344] | : . ' , ; ` | : . - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.348] | : . ' , ; ` | : . Old stack: [01:56:55.349] | : . ' , ; ` | : . List of 1 [01:56:55.349] | : . ' , ; ` | : . $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.349] | : . ' , ; ` | : . ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.349] | : . ' , ; ` | : . ..- attr(*, "init")= chr "done" [01:56:55.349] | : . ' , ; ` | : . ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.349] | : . ' , ; ` | : . .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.349] | : . ' , ; ` | : . ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.349] | : . ' , ; ` | : . ..- attr(*, "call")= language plan(sequential) [01:56:55.349] | : . ' , ; ` | : . ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.349] | : . ' , ; ` | : . .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.349] | : . ' , ; ` | : . .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.349] | : . ' , ; ` | : . - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.352] | : . ' , ; ` | : . Identical [01:56:55.353] | : . ' , ; ` | : all.equal() for FutureStrategyList ... done [01:56:55.353] | : . ' , ; ` | : plan(): Skip setting new future backend stack because it is the same as the current one: [01:56:55.353] | : . ' , ; ` | : List of future strategies: [01:56:55.353] | : . ' , ; ` | : 1. sequential: [01:56:55.353] | : . ' , ; ` | : - args: function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame(), workers = "") [01:56:55.353] | : . ' , ; ` | : - tweaked: FALSE [01:56:55.353] | : . ' , ; ` | : - call: plan(sequential) [01:56:55.354] | : . ' , ; ` | plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... done [01:56:55.354] | : . ' , ; ` plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [01:56:55.354] | : . ' , ; plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [01:56:55.355] | : . ' , ; SequentialFuture started (and completed) [01:56:55.355] | : . ' , ; signalConditions() ... [01:56:55.355] | : . ' , ; ` include = 'immediateCondition' [01:56:55.355] | : . ' , ; ` exclude = [01:56:55.355] | : . ' , ; ` resignal = FALSE [01:56:55.356] | : . ' , ; ` Number of conditions: 1 [01:56:55.356] | : . ' , ; signalConditions() ... done [01:56:55.356] | : . ' , launchFuture() for 'SequentialFutureBackend', 'FutureBackend', 'environment' ... done [01:56:55.356] | : . ' Launching futures ... done [01:56:55.356] | : . ' Future launched: 'SequentialFuture', 'UniprocessFuture', 'Future' [01:56:55.356] | : . Using SequentialFutureBackend ... done [01:56:55.357] | : run() for 'Future' (NULL) ... done [01:56:55.357] | getGlobalsAndPackages() ... done [01:56:55.357] | value() for SequentialFuture (NULL) ... [01:56:55.357] | : signalConditions() ... [01:56:55.357] | : . include = 'immediateCondition' [01:56:55.358] | : . exclude = [01:56:55.358] | : . resignal = FALSE [01:56:55.358] | : . Number of conditions: 1 [01:56:55.358] | : signalConditions() ... done [01:56:55.358] | : relay stdout ... [01:56:55.358] | : relay stdout ... done [01:56:55.359] | : check for misuse ... [01:56:55.359] | : check for misuse ... done [01:56:55.359] | : relay conditions ... [01:56:55.359] | : . Future state: 'finished' [01:56:55.359] | : . signalConditions() ... [01:56:55.360] | : . ' include = 'condition' [01:56:55.360] | : . ' exclude = 'immediateCondition' [01:56:55.360] | : . ' resignal = TRUE [01:56:55.360] | : . ' Number of conditions: 1 [01:56:55.360] | : . ' Condition #1: 'simpleError', 'error', 'condition' [01:56:55.361] | : . signalConditions() ... done [01:56:55.361] | : relay conditions ... done Error in eval(quote({ : '...' used in an incorrect context [1] "Error in eval(quote({ : '...' used in an incorrect context\n" attr(,"class") [1] "try-error" attr(,"condition") ** Sum function 'E' with plan('sequential') ... function (...) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) globals <- globals::globalsByName("...", envir = environment()) f <- future({ fcn <- function() sum(...) fcn() }, envir = parent.frame(), globals = globals) y <- value(f) y } Arguments '...' exists: TRUE [01:56:55.364] | : future(..., label = NULL) ... [01:56:55.364] | : . lazy: FALSE [01:56:55.364] | : . stdout: TRUE [01:56:55.364] | : . conditions: [n=1] 'condition' [01:56:55.364] | : . gc: FALSE [01:56:55.364] | : . earlySignal: FALSE [01:56:55.365] | : . getGlobalsAndPackages() ... [01:56:55.365] | : . ' globals passed as-is: [1] '...' [01:56:55.365] | : . ' Resolving globals: FALSE [01:56:55.365] | : . ' Tweak future expression to call with '...' arguments ... [01:56:55.365] | : . ' , { [01:56:55.365] | : . ' , "# future::getGlobalsAndPackages(): wrapping the original future" [01:56:55.365] | : . ' , "# expression in do.call(), because function called uses '...' " [01:56:55.365] | : . ' , "# as a global variable " [01:56:55.365] | : . ' , do.call(function(...) { [01:56:55.365] | : . ' , fcn <- function() sum(...) [01:56:55.365] | : . ' , fcn() [01:56:55.365] | : . ' , }, args = future.call.arguments) [01:56:55.365] | : . ' , } [01:56:55.366] | : . ' Tweak future expression to call with '...' arguments ... done [01:56:55.366] | : . ' Search for packages associated with the globals ... [01:56:55.366] | : . ' , Packages associated with globals: [0] [01:56:55.366] | : . ' , Packages: [0] [01:56:55.367] | : . ' Search for packages associated with the globals ... done [01:56:55.367] | : . ' Packages after dropping 'base': [0] [01:56:55.367] | : . ' globals: [1] 'future.call.arguments' [01:56:55.367] | : . ' packages: [0] [01:56:55.367] | : . getGlobalsAndPackages() ... done [01:56:55.368] | : . run() for 'Future' (NULL) ... [01:56:55.368] | : . ' state: 'created' [01:56:55.368] | : . ' plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.368] | : . ' plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:55.368] | : . ' Using SequentialFutureBackend ... [01:56:55.368] | : . ' , Number of futures since start: 4 (4 created, 4 launched, 4 finished) [01:56:55.369] | : . ' , Launching futures ... [01:56:55.369] | : . ' , ; launchFuture() for 'SequentialFutureBackend', 'FutureBackend', 'environment' ... [01:56:55.369] | : . ' , ; ` getFutureData() ... [01:56:55.369] | : . ' , ; ` | getFutureCore() ... [01:56:55.369] | : . ' , ; ` | : Packages needed by the future expression (n = 0): [01:56:55.370] | : . ' , ; ` | getFutureCore() ... done [01:56:55.370] | : . ' , ; ` | getFutureCapture() ... [01:56:55.370] | : . ' , ; ` | getFutureCapture() ... done [01:56:55.370] | : . ' , ; ` | getFutureContext() ... [01:56:55.370] | : . ' , ; ` | : plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.370] | : . ' , ; ` | : . Getting stack without first backend: [n=0] [01:56:55.371] | : . ' , ; ` | : plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:55.371] | : . ' , ; ` | : Packages needed by future backend (n = 0): [01:56:55.371] | : . ' , ; ` | getFutureContext() ... done [01:56:55.371] | : . ' , ; ` getFutureData() ... done [01:56:55.371] | : . ' , ; ` attachPackages() ... [01:56:55.372] | : . ' , ; ` | packages: [n=1] 'future' [01:56:55.372] | : . ' , ; ` attachPackages() ... done [01:56:55.372] | : . ' , ; ` attachPackages() ... [01:56:55.372] | : . ' , ; ` | packages: [n=0] [01:56:55.372] | : . ' , ; ` attachPackages() ... done [01:56:55.373] | : . ' , ; ` plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.373] | : . ' , ; ` | Getting full stack: [n=1] 'sequential', 'uniprocess', 'future', 'function' [01:56:55.373] | : . ' , ; ` plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:55.373] | : . ' , ; ` plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [01:56:55.374] | : . ' , ; ` | plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... [01:56:55.374] | : . ' , ; ` | : all.equal() for FutureStrategyList ... [01:56:55.374] | : . ' , ; ` | : . New stack: [01:56:55.374] | : . ' , ; ` | : . List of 1 [01:56:55.374] | : . ' , ; ` | : . $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.374] | : . ' , ; ` | : . ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.374] | : . ' , ; ` | : . ..- attr(*, "init")= logi TRUE [01:56:55.374] | : . ' , ; ` | : . ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.374] | : . ' , ; ` | : . .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.374] | : . ' , ; ` | : . ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.374] | : . ' , ; ` | : . ..- attr(*, "call")= language plan(strategiesR, .cleanup = FALSE, .init = FALSE) [01:56:55.374] | : . ' , ; ` | : . - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.377] | : . ' , ; ` | : . Old stack: [01:56:55.378] | : . ' , ; ` | : . List of 1 [01:56:55.378] | : . ' , ; ` | : . $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.378] | : . ' , ; ` | : . ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.378] | : . ' , ; ` | : . ..- attr(*, "init")= chr "done" [01:56:55.378] | : . ' , ; ` | : . ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.378] | : . ' , ; ` | : . .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.378] | : . ' , ; ` | : . ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.378] | : . ' , ; ` | : . ..- attr(*, "call")= language plan(sequential) [01:56:55.378] | : . ' , ; ` | : . ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.378] | : . ' , ; ` | : . .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.378] | : . ' , ; ` | : . .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.378] | : . ' , ; ` | : . - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.381] | : . ' , ; ` | : . Not identical [01:56:55.382] | : . ' , ; ` | : . all.equal() for future ... [01:56:55.382] | : . ' , ; ` | : . ' List of 2 [01:56:55.382] | : . ' , ; ` | : . ' $ target :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.382] | : . ' , ; ` | : . ' ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.382] | : . ' , ; ` | : . ' ..- attr(*, "init")= logi TRUE [01:56:55.382] | : . ' , ; ` | : . ' ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.382] | : . ' , ; ` | : . ' .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.382] | : . ' , ; ` | : . ' ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.382] | : . ' , ; ` | : . ' ..- attr(*, "call")= language plan(strategiesR, .cleanup = FALSE, .init = FALSE) [01:56:55.382] | : . ' , ; ` | : . ' $ current:function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.382] | : . ' , ; ` | : . ' ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.382] | : . ' , ; ` | : . ' ..- attr(*, "init")= chr "done" [01:56:55.382] | : . ' , ; ` | : . ' ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.382] | : . ' , ; ` | : . ' .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.382] | : . ' , ; ` | : . ' ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.382] | : . ' , ; ` | : . ' ..- attr(*, "call")= language plan(sequential) [01:56:55.382] | : . ' , ; ` | : . ' ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.382] | : . ' , ; ` | : . ' .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.382] | : . ' , ; ` | : . ' .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.388] | : . ' , ; ` | : . all.equal() for future ... done [01:56:55.389] | : . ' , ; ` | : all.equal() for FutureStrategyList ... done [01:56:55.389] | : . ' , ; ` | : plan(): Skip setting new future backend stack because it is the same as the current one: [01:56:55.389] | : . ' , ; ` | : List of future strategies: [01:56:55.389] | : . ' , ; ` | : 1. sequential: [01:56:55.389] | : . ' , ; ` | : - args: function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame(), workers = "") [01:56:55.389] | : . ' , ; ` | : - tweaked: FALSE [01:56:55.389] | : . ' , ; ` | : - call: plan(sequential) [01:56:55.390] | : . ' , ; ` | plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... done [01:56:55.390] | : . ' , ; ` plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [01:56:55.390] | : . ' , ; ` assign_globals() ... [01:56:55.390] | : . ' , ; ` List of 1 [01:56:55.390] | : . ' , ; ` $ future.call.arguments:List of 2 [01:56:55.390] | : . ' , ; ` ..$ : int [1:2] 1 2 [01:56:55.390] | : . ' , ; ` ..$ : num 3 [01:56:55.390] | : . ' , ; ` ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [01:56:55.390] | : . ' , ; ` - attr(*, "where")=List of 1 [01:56:55.390] | : . ' , ; ` ..$ future.call.arguments: [01:56:55.390] | : . ' , ; ` - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [01:56:55.390] | : . ' , ; ` - attr(*, "resolved")= logi FALSE [01:56:55.390] | : . ' , ; ` - attr(*, "total_size")= num NA [01:56:55.390] | : . ' , ; ` - attr(*, "already-done")= logi TRUE [01:56:55.394] | : . ' , ; ` - copied 'future.call.arguments' to environment [01:56:55.394] | : . ' , ; ` assign_globals() ... done [01:56:55.397] | : . ' , ; ` plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [01:56:55.397] | : . ' , ; ` | plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [01:56:55.397] | : . ' , ; ` | : plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... [01:56:55.397] | : . ' , ; ` | : . all.equal() for FutureStrategyList ... [01:56:55.397] | : . ' , ; ` | : . ' New stack: [01:56:55.398] | : . ' , ; ` | : . ' List of 1 [01:56:55.398] | : . ' , ; ` | : . ' $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.398] | : . ' , ; ` | : . ' ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.398] | : . ' , ; ` | : . ' ..- attr(*, "init")= chr "done" [01:56:55.398] | : . ' , ; ` | : . ' ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.398] | : . ' , ; ` | : . ' .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.398] | : . ' , ; ` | : . ' ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.398] | : . ' , ; ` | : . ' ..- attr(*, "call")= language plan(sequential) [01:56:55.398] | : . ' , ; ` | : . ' ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.398] | : . ' , ; ` | : . ' .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.398] | : . ' , ; ` | : . ' .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.398] | : . ' , ; ` | : . ' - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.402] | : . ' , ; ` | : . ' Old stack: [01:56:55.402] | : . ' , ; ` | : . ' List of 1 [01:56:55.402] | : . ' , ; ` | : . ' $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.402] | : . ' , ; ` | : . ' ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.402] | : . ' , ; ` | : . ' ..- attr(*, "init")= chr "done" [01:56:55.402] | : . ' , ; ` | : . ' ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.402] | : . ' , ; ` | : . ' .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.402] | : . ' , ; ` | : . ' ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.402] | : . ' , ; ` | : . ' ..- attr(*, "call")= language plan(sequential) [01:56:55.402] | : . ' , ; ` | : . ' ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.402] | : . ' , ; ` | : . ' .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.402] | : . ' , ; ` | : . ' .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.402] | : . ' , ; ` | : . ' - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.406] | : . ' , ; ` | : . ' Identical [01:56:55.406] | : . ' , ; ` | : . all.equal() for FutureStrategyList ... done [01:56:55.406] | : . ' , ; ` | : . plan(): Skip setting new future backend stack because it is the same as the current one: [01:56:55.406] | : . ' , ; ` | : . List of future strategies: [01:56:55.406] | : . ' , ; ` | : . 1. sequential: [01:56:55.406] | : . ' , ; ` | : . - args: function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame(), workers = "") [01:56:55.406] | : . ' , ; ` | : . - tweaked: FALSE [01:56:55.406] | : . ' , ; ` | : . - call: plan(sequential) [01:56:55.407] | : . ' , ; ` | : plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... done [01:56:55.407] | : . ' , ; ` | plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [01:56:55.407] | : . ' , ; ` plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [01:56:55.408] | : . ' , ; ` SequentialFuture started (and completed) [01:56:55.408] | : . ' , ; launchFuture() for 'SequentialFutureBackend', 'FutureBackend', 'environment' ... done [01:56:55.408] | : . ' , Launching futures ... done [01:56:55.408] | : . ' , Future launched: 'SequentialFuture', 'UniprocessFuture', 'Future' [01:56:55.408] | : . ' Using SequentialFutureBackend ... done [01:56:55.409] | : . run() for 'Future' (NULL) ... done [01:56:55.409] | : future(..., label = NULL) ... done [01:56:55.409] | : value() for SequentialFuture (NULL) ... [01:56:55.409] | : . relay stdout ... [01:56:55.409] | : . relay stdout ... done [01:56:55.410] | : . check for misuse ... [01:56:55.410] | : . check for misuse ... done [01:56:55.410] | : value() for SequentialFuture (NULL) ... done [1] 6 ** Sum function 'F' with plan('sequential') ... function (x, y) { message("Using '...' in a formula") fcn <- function(x, y) { z = ~list(...) sum(x, y) } f <- future(fcn(x, y)) y <- value(f) y } Using '...' in a formula [01:56:55.410] | : future(..., label = NULL) ... [01:56:55.411] | : . lazy: FALSE [01:56:55.411] | : . stdout: TRUE [01:56:55.411] | : . conditions: [n=1] 'condition' [01:56:55.411] | : . gc: FALSE [01:56:55.411] | : . earlySignal: FALSE [01:56:55.411] | : . getGlobalsAndPackages() ... [01:56:55.412] | : . ' Searching for globals ... [01:56:55.426] | : . ' , globals found: [9] 'fcn', 'x', 'y', '{', '=', '~', 'list', '...', 'sum' [01:56:55.426] | : . ' Searching for globals ... done [01:56:55.427] | : . ' Resolving globals: FALSE [01:56:55.427] | : . ' Tweak future expression to call with '...' arguments ... [01:56:55.427] | : . ' , Search for packages associated with the globals ... [01:56:55.427] | : . ' , ; Packages associated with globals: [1] 'base' [01:56:55.428] | : . ' , ; Packages: [1] 'base' [01:56:55.428] | : . ' , Search for packages associated with the globals ... done [01:56:55.428] | : . ' , Packages after dropping 'base': [0] [01:56:55.428] | : . ' , globals: [3] 'fcn', 'x', 'y' [01:56:55.428] | : . ' , packages: [0] [01:56:55.429] | : . ' Tweak future expression to call with '...' arguments ... done [01:56:55.429] | : . ' run() for 'Future' (NULL) ... [01:56:55.429] | : . ' , state: 'created' [01:56:55.429] | : . ' , plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.429] | : . ' , plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:55.430] | : . ' , Using SequentialFutureBackend ... [01:56:55.430] | : . ' , ; Number of futures since start: 5 (5 created, 5 launched, 5 finished) [01:56:55.430] | : . ' , ; Launching futures ... [01:56:55.430] | : . ' , ; ` launchFuture() for 'SequentialFutureBackend', 'FutureBackend', 'environment' ... [01:56:55.430] | : . ' , ; ` | getFutureData() ... [01:56:55.430] | : . ' , ; ` | : getFutureCore() ... [01:56:55.431] | : . ' , ; ` | : . Packages needed by the future expression (n = 0): [01:56:55.431] | : . ' , ; ` | : getFutureCore() ... done [01:56:55.431] | : . ' , ; ` | : getFutureCapture() ... [01:56:55.431] | : . ' , ; ` | : getFutureCapture() ... done [01:56:55.431] | : . ' , ; ` | : getFutureContext() ... [01:56:55.431] | : . ' , ; ` | : . plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.432] | : . ' , ; ` | : . ' Getting stack without first backend: [n=0] [01:56:55.432] | : . ' , ; ` | : . plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:55.432] | : . ' , ; ` | : . Packages needed by future backend (n = 0): [01:56:55.432] | : . ' , ; ` | : getFutureContext() ... done [01:56:55.432] | : . ' , ; ` | getFutureData() ... done [01:56:55.433] | : . ' , ; ` | attachPackages() ... [01:56:55.433] | : . ' , ; ` | : packages: [n=1] 'future' [01:56:55.433] | : . ' , ; ` | attachPackages() ... done [01:56:55.433] | : . ' , ; ` | attachPackages() ... [01:56:55.433] | : . ' , ; ` | : packages: [n=0] [01:56:55.434] | : . ' , ; ` | attachPackages() ... done [01:56:55.434] | : . ' , ; ` | plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.434] | : . ' , ; ` | : Getting full stack: [n=1] 'sequential', 'uniprocess', 'future', 'function' [01:56:55.434] | : . ' , ; ` | plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:55.435] | : . ' , ; ` | plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [01:56:55.435] | : . ' , ; ` | : plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... [01:56:55.435] | : . ' , ; ` | : . all.equal() for FutureStrategyList ... [01:56:55.435] | : . ' , ; ` | : . ' New stack: [01:56:55.435] | : . ' , ; ` | : . ' List of 1 [01:56:55.435] | : . ' , ; ` | : . ' $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.435] | : . ' , ; ` | : . ' ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.435] | : . ' , ; ` | : . ' ..- attr(*, "init")= logi TRUE [01:56:55.435] | : . ' , ; ` | : . ' ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.435] | : . ' , ; ` | : . ' .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.435] | : . ' , ; ` | : . ' ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.435] | : . ' , ; ` | : . ' ..- attr(*, "call")= language plan(strategiesR, .cleanup = FALSE, .init = FALSE) [01:56:55.435] | : . ' , ; ` | : . ' - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.439] | : . ' , ; ` | : . ' Old stack: [01:56:55.439] | : . ' , ; ` | : . ' List of 1 [01:56:55.439] | : . ' , ; ` | : . ' $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.439] | : . ' , ; ` | : . ' ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.439] | : . ' , ; ` | : . ' ..- attr(*, "init")= chr "done" [01:56:55.439] | : . ' , ; ` | : . ' ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.439] | : . ' , ; ` | : . ' .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.439] | : . ' , ; ` | : . ' ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.439] | : . ' , ; ` | : . ' ..- attr(*, "call")= language plan(sequential) [01:56:55.439] | : . ' , ; ` | : . ' ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.439] | : . ' , ; ` | : . ' .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.439] | : . ' , ; ` | : . ' .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.439] | : . ' , ; ` | : . ' - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.443] | : . ' , ; ` | : . ' Not identical [01:56:55.443] | : . ' , ; ` | : . ' all.equal() for future ... [01:56:55.443] | : . ' , ; ` | : . ' , List of 2 [01:56:55.443] | : . ' , ; ` | : . ' , $ target :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.443] | : . ' , ; ` | : . ' , ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.443] | : . ' , ; ` | : . ' , ..- attr(*, "init")= logi TRUE [01:56:55.443] | : . ' , ; ` | : . ' , ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.443] | : . ' , ; ` | : . ' , .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.443] | : . ' , ; ` | : . ' , ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.443] | : . ' , ; ` | : . ' , ..- attr(*, "call")= language plan(strategiesR, .cleanup = FALSE, .init = FALSE) [01:56:55.443] | : . ' , ; ` | : . ' , $ current:function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.443] | : . ' , ; ` | : . ' , ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.443] | : . ' , ; ` | : . ' , ..- attr(*, "init")= chr "done" [01:56:55.443] | : . ' , ; ` | : . ' , ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.443] | : . ' , ; ` | : . ' , .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.443] | : . ' , ; ` | : . ' , ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.443] | : . ' , ; ` | : . ' , ..- attr(*, "call")= language plan(sequential) [01:56:55.443] | : . ' , ; ` | : . ' , ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.443] | : . ' , ; ` | : . ' , .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.443] | : . ' , ; ` | : . ' , .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.450] | : . ' , ; ` | : . ' all.equal() for future ... done [01:56:55.450] | : . ' , ; ` | : . all.equal() for FutureStrategyList ... done [01:56:55.450] | : . ' , ; ` | : . plan(): Skip setting new future backend stack because it is the same as the current one: [01:56:55.450] | : . ' , ; ` | : . List of future strategies: [01:56:55.450] | : . ' , ; ` | : . 1. sequential: [01:56:55.450] | : . ' , ; ` | : . - args: function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame(), workers = "") [01:56:55.450] | : . ' , ; ` | : . - tweaked: FALSE [01:56:55.450] | : . ' , ; ` | : . - call: plan(sequential) [01:56:55.451] | : . ' , ; ` | : plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... done [01:56:55.451] | : . ' , ; ` | plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [01:56:55.451] | : . ' , ; ` | assign_globals() ... [01:56:55.451] | : . ' , ; ` | List of 3 [01:56:55.451] | : . ' , ; ` | $ fcn:function (x, y) [01:56:55.451] | : . ' , ; ` | $ x : int [1:2] 1 2 [01:56:55.451] | : . ' , ; ` | $ y : num 3 [01:56:55.451] | : . ' , ; ` | - attr(*, "where")=List of 3 [01:56:55.451] | : . ' , ; ` | ..$ fcn: [01:56:55.451] | : . ' , ; ` | ..$ x : [01:56:55.451] | : . ' , ; ` | ..$ y : [01:56:55.451] | : . ' , ; ` | - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [01:56:55.451] | : . ' , ; ` | - attr(*, "resolved")= logi FALSE [01:56:55.451] | : . ' , ; ` | - attr(*, "total_size")= num NA [01:56:55.451] | : . ' , ; ` | - attr(*, "already-done")= logi TRUE [01:56:55.457] | : . ' , ; ` | - copied 'fcn' to environment [01:56:55.458] | : . ' , ; ` | - copied 'x' to environment [01:56:55.458] | : . ' , ; ` | - copied 'y' to environment [01:56:55.458] | : . ' , ; ` | assign_globals() ... done [01:56:55.460] | : . ' , ; ` | plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [01:56:55.460] | : . ' , ; ` | : plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [01:56:55.460] | : . ' , ; ` | : . plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... [01:56:55.461] | : . ' , ; ` | : . ' all.equal() for FutureStrategyList ... [01:56:55.461] | : . ' , ; ` | : . ' , New stack: [01:56:55.461] | : . ' , ; ` | : . ' , List of 1 [01:56:55.461] | : . ' , ; ` | : . ' , $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.461] | : . ' , ; ` | : . ' , ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.461] | : . ' , ; ` | : . ' , ..- attr(*, "init")= chr "done" [01:56:55.461] | : . ' , ; ` | : . ' , ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.461] | : . ' , ; ` | : . ' , .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.461] | : . ' , ; ` | : . ' , ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.461] | : . ' , ; ` | : . ' , ..- attr(*, "call")= language plan(sequential) [01:56:55.461] | : . ' , ; ` | : . ' , ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.461] | : . ' , ; ` | : . ' , .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.461] | : . ' , ; ` | : . ' , .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.461] | : . ' , ; ` | : . ' , - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.465] | : . ' , ; ` | : . ' , Old stack: [01:56:55.465] | : . ' , ; ` | : . ' , List of 1 [01:56:55.465] | : . ' , ; ` | : . ' , $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.465] | : . ' , ; ` | : . ' , ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.465] | : . ' , ; ` | : . ' , ..- attr(*, "init")= chr "done" [01:56:55.465] | : . ' , ; ` | : . ' , ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.465] | : . ' , ; ` | : . ' , .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.465] | : . ' , ; ` | : . ' , ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.465] | : . ' , ; ` | : . ' , ..- attr(*, "call")= language plan(sequential) [01:56:55.465] | : . ' , ; ` | : . ' , ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.465] | : . ' , ; ` | : . ' , .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.465] | : . ' , ; ` | : . ' , .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.465] | : . ' , ; ` | : . ' , - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.469] | : . ' , ; ` | : . ' , Identical [01:56:55.469] | : . ' , ; ` | : . ' all.equal() for FutureStrategyList ... done [01:56:55.469] | : . ' , ; ` | : . ' plan(): Skip setting new future backend stack because it is the same as the current one: [01:56:55.469] | : . ' , ; ` | : . ' List of future strategies: [01:56:55.469] | : . ' , ; ` | : . ' 1. sequential: [01:56:55.469] | : . ' , ; ` | : . ' - args: function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame(), workers = "") [01:56:55.469] | : . ' , ; ` | : . ' - tweaked: FALSE [01:56:55.469] | : . ' , ; ` | : . ' - call: plan(sequential) [01:56:55.470] | : . ' , ; ` | : . plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... done [01:56:55.470] | : . ' , ; ` | : plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [01:56:55.470] | : . ' , ; ` | plan(, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [01:56:55.471] | : . ' , ; ` | SequentialFuture started (and completed) [01:56:55.471] | : . ' , ; ` launchFuture() for 'SequentialFutureBackend', 'FutureBackend', 'environment' ... done [01:56:55.471] | : . ' , ; Launching futures ... done [01:56:55.471] | : . ' , ; Future launched: 'SequentialFuture', 'UniprocessFuture', 'Future' [01:56:55.472] | : . ' , Using SequentialFutureBackend ... done [01:56:55.472] | : . ' run() for 'Future' (NULL) ... done [01:56:55.472] | : . getGlobalsAndPackages() ... done [01:56:55.472] | : . value() for SequentialFuture (NULL) ... [01:56:55.472] | : . ' relay stdout ... [01:56:55.472] | : . ' relay stdout ... done [01:56:55.473] | : . ' check for misuse ... [01:56:55.473] | : . ' check for misuse ... done [01:56:55.473] | : . value() for SequentialFuture (NULL) ... done [1] 6 Testing with 1 cores ... DONE Testing with 2 cores ... *** Global argument '...' ... - plan('multisession') ... [01:56:55.474] | : . plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.474] | : . ' plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = NA, init = TRUE) ... [01:56:55.474] | : . ' , all.equal() for FutureStrategyList ... [01:56:55.474] | : . ' , ; New stack: [01:56:55.474] | : . ' , ; List of 1 [01:56:55.474] | : . ' , ; $ :function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), [01:56:55.474] | : . ' , ; gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.474] | : . ' , ; ..- attr(*, "class")= chr [1:5] "multisession" "cluster" "multiprocess" "future" ... [01:56:55.474] | : . ' , ; ..- attr(*, "init")= logi TRUE [01:56:55.474] | : . ' , ; ..- attr(*, "factory")=function (workers = availableCores(), rscript_libs = .libPaths(), interrupts = TRUE, [01:56:55.474] | : . ' , ; gc = FALSE, earlySignal = FALSE, ...) [01:56:55.474] | : . ' , ; .. ..- attr(*, "tweakable")= chr [1:11] "workers" "rscript_libs" "interrupts" "gc" ... [01:56:55.474] | : . ' , ; ..- attr(*, "tweakable")= chr [1:11] "workers" "rscript_libs" "interrupts" "gc" ... [01:56:55.474] | : . ' , ; ..- attr(*, "untweakable")= chr "persistent" [01:56:55.474] | : . ' , ; ..- attr(*, "call")= language plan(strategy, substitute = FALSE) [01:56:55.474] | : . ' , ; - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.478] | : . ' , ; Old stack: [01:56:55.478] | : . ' , ; List of 1 [01:56:55.478] | : . ' , ; $ :function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.478] | : . ' , ; ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.478] | : . ' , ; ..- attr(*, "init")= chr "done" [01:56:55.478] | : . ' , ; ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.478] | : . ' , ; .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.478] | : . ' , ; ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.478] | : . ' , ; ..- attr(*, "call")= language plan(sequential) [01:56:55.478] | : . ' , ; ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.478] | : . ' , ; .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.478] | : . ' , ; .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.478] | : . ' , ; - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.482] | : . ' , ; Not identical [01:56:55.482] | : . ' , ; all.equal() for future ... [01:56:55.483] | : . ' , ; ` List of 2 [01:56:55.483] | : . ' , ; ` $ target :function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), [01:56:55.483] | : . ' , ; ` gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.483] | : . ' , ; ` ..- attr(*, "class")= chr [1:5] "multisession" "cluster" "multiprocess" "future" ... [01:56:55.483] | : . ' , ; ` ..- attr(*, "init")= logi TRUE [01:56:55.483] | : . ' , ; ` ..- attr(*, "factory")=function (workers = availableCores(), rscript_libs = .libPaths(), interrupts = TRUE, [01:56:55.483] | : . ' , ; ` gc = FALSE, earlySignal = FALSE, ...) [01:56:55.483] | : . ' , ; ` .. ..- attr(*, "tweakable")= chr [1:11] "workers" "rscript_libs" "interrupts" "gc" ... [01:56:55.483] | : . ' , ; ` ..- attr(*, "tweakable")= chr [1:11] "workers" "rscript_libs" "interrupts" "gc" ... [01:56:55.483] | : . ' , ; ` ..- attr(*, "untweakable")= chr "persistent" [01:56:55.483] | : . ' , ; ` ..- attr(*, "call")= language plan(strategy, substitute = FALSE) [01:56:55.483] | : . ' , ; ` $ current:function (..., gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.483] | : . ' , ; ` ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [01:56:55.483] | : . ' , ; ` ..- attr(*, "init")= chr "done" [01:56:55.483] | : . ' , ; ` ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.483] | : . ' , ; ` .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.483] | : . ' , ; ` ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.483] | : . ' , ; ` ..- attr(*, "call")= language plan(sequential) [01:56:55.483] | : . ' , ; ` ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [01:56:55.483] | : . ' , ; ` .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [01:56:55.483] | : . ' , ; ` .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [01:56:55.489] | : . ' , ; ` Formals differ [01:56:55.489] | : . ' , ; all.equal() for future ... done [01:56:55.489] | : . ' , ; Future strategies differ at level 1 [01:56:55.490] | : . ' , all.equal() for FutureStrategyList ... done [01:56:55.490] | : . ' , plan(): Setting new future backend stack: [01:56:55.490] | : . ' , List of future strategies: [01:56:55.490] | : . ' , 1. multisession: [01:56:55.490] | : . ' , - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.490] | : . ' , - tweaked: FALSE [01:56:55.490] | : . ' , - call: plan(strategy, substitute = FALSE) [01:56:55.490] | : . ' , List of 1 [01:56:55.490] | : . ' , $ :function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), [01:56:55.490] | : . ' , gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.490] | : . ' , ..- attr(*, "class")= chr [1:5] "multisession" "cluster" "multiprocess" "future" ... [01:56:55.490] | : . ' , ..- attr(*, "init")= logi TRUE [01:56:55.490] | : . ' , ..- attr(*, "factory")=function (workers = availableCores(), rscript_libs = .libPaths(), interrupts = TRUE, [01:56:55.490] | : . ' , gc = FALSE, earlySignal = FALSE, ...) [01:56:55.490] | : . ' , .. ..- attr(*, "tweakable")= chr [1:11] "workers" "rscript_libs" "interrupts" "gc" ... [01:56:55.490] | : . ' , ..- attr(*, "tweakable")= chr [1:11] "workers" "rscript_libs" "interrupts" "gc" ... [01:56:55.490] | : . ' , ..- attr(*, "untweakable")= chr "persistent" [01:56:55.490] | : . ' , ..- attr(*, "call")= language plan(strategy, substitute = FALSE) [01:56:55.490] | : . ' , - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [01:56:55.494] | : . ' , plan(): plan_cleanup('sequential', 'uniprocess', 'future', 'function', cleanup = NA) ... [01:56:55.494] | : . ' , ; plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:55.494] | : . ' , ; ` Getting current ("next") strategy: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:56:55.494] | : . ' , ; plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:55.495] | : . ' , ; Legacy shutdown of cluster workers ... [01:56:55.495] | : . ' , ; ` Stopping existing cluster ... [01:56:55.495] | : . ' , ; ` | No pre-existing cluster. Skipping [01:56:55.495] | : . ' , ; ` Stopping existing cluster ... done [01:56:55.495] | : . ' , ; Legacy shutdown of cluster workers ... done [01:56:55.496] | : . ' , plan(): plan_cleanup('sequential', 'uniprocess', 'future', 'function', cleanup = NA) ... done [01:56:55.496] | : . ' , plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [01:56:55.496] | : . ' , ; function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), [01:56:55.496] | : . ' , ; gc = FALSE, earlySignal = FALSE, envir = parent.frame()) [01:56:55.496] | : . ' , ; - attr(*, "class")= chr [1:5] "multisession" "cluster" "multiprocess" "future" ... [01:56:55.496] | : . ' , ; - attr(*, "init")= logi TRUE [01:56:55.496] | : . ' , ; - attr(*, "factory")=function (workers = availableCores(), rscript_libs = .libPaths(), interrupts = TRUE, [01:56:55.496] | : . ' , ; gc = FALSE, earlySignal = FALSE, ...) [01:56:55.496] | : . ' , ; ..- attr(*, "tweakable")= chr [1:11] "workers" "rscript_libs" "interrupts" "gc" ... [01:56:55.496] | : . ' , ; - attr(*, "tweakable")= chr [1:11] "workers" "rscript_libs" "interrupts" "gc" ... [01:56:55.496] | : . ' , ; - attr(*, "untweakable")= chr "persistent" [01:56:55.496] | : . ' , ; - attr(*, "call")= language plan(strategy, substitute = FALSE) [01:56:55.499] | : . ' , ; init: TRUE [01:56:55.499] | : . ' , ; makeFutureBackend() ... [01:56:55.499] | : . ' , ; ` Backend function: <'NULL'> [01:56:55.500] | : . ' , ; ` Evaluator tweak arguments: [n=0] [01:56:55.500] | : . ' , ; ` list() [01:56:55.500] | : . ' , ; ` Evaluator formal arguments: [n=4] [01:56:55.500] | : . ' , ; ` list() [01:56:55.501] | : . ' , ; ` Backend factory arguments: [n=4] [01:56:55.501] | : . ' , ; ` Dotted pair list of 4 [01:56:55.501] | : . ' , ; ` $ workers : language availableCores() [01:56:55.501] | : . ' , ; ` $ rscript_libs: language .libPaths() [01:56:55.501] | : . ' , ; ` $ gc : logi FALSE [01:56:55.501] | : . ' , ; ` $ earlySignal : logi FALSE [01:56:55.503] | : . ' , ; ` MultisessionFutureBackend(workers = , interrupts = TRUE, ...) ... [01:56:55.503] | : . ' , ; ` | Arguments: [01:56:55.503] | : . ' , ; ` | List of 5 [01:56:55.503] | : . ' , ; ` | $ workers : Named int 2 [01:56:55.503] | : . ' , ; ` | ..- attr(*, "names")= chr "mc.cores" [01:56:55.503] | : . ' , ; ` | $ rscript_libs: chr [1:2] "D:/temp/2025_05_09_01_55_17_23336/RtmpsDakIT/RLIBS_1b6487de1dd0" "D:/RCompile/recent/R/library" [01:56:55.503] | : . ' , ; ` | $ interrupts : logi TRUE [01:56:55.503] | : . ' , ; ` | $ gc : logi FALSE [01:56:55.503] | : . ' , ; ` | $ earlySignal : logi FALSE [01:56:55.508] | : . ' , ; ` | ClusterFutureBackend(..., persistent = FALSE, gc = FALSE, earlySignal = FALSE) ... [01:56:55.508] | : . ' , ; ` | : workers: 2 [01:56:55.508] | : . ' , ; ` | : getCluster() ... [01:56:55.508] | : . ' , ; ` | : getCluster() ... done [01:56:55.508] | : . ' , ; ` | : Stopping existing cluster ... [01:56:55.509] | : . ' , ; ` | : . No pre-existing cluster. Skipping [01:56:55.509] | : . ' , ; ` | : Stopping existing cluster ... done [01:56:55.509] | : . ' , ; ` | : Starting new cluster ... [01:56:55.509] | : . ' , ; ` | : . makeCluster(workers, ...) ... [01:56:55.509] | : . ' , ; ` | : . ' Arguments: [01:56:55.509] | : . ' , ; ` | : . ' List of 2 [01:56:55.509] | : . ' , ; ` | : . ' $ : int 2 [01:56:55.509] | : . ' , ; ` | : . ' $ rscript_libs: chr [1:2] "D:/temp/2025_05_09_01_55_17_23336/RtmpsDakIT/RLIBS_1b6487de1dd0" "D:/RCompile/recent/R/library" [01:56:55.511] | : . ' , ; ` | : . ' .makeCluster() ... [01:56:55.511] | : . ' , ; ` | : . ' , workers: '2' [01:56:55.511] | : . ' , ; ` | : . ' , R_FUTURE_PLAN: NA [01:56:55.512] | : . ' , ; ` | : . ' , parallelly::makeClusterPSOCK() arguments: [01:56:55.512] | : . ' , ; ` | : . ' , List of 2 [01:56:55.512] | : . ' , ; ` | : . ' , $ : int 2 [01:56:55.512] | : . ' , ; ` | : . ' , $ rscript_libs: chr [1:2] "D:/temp/2025_05_09_01_55_17_23336/RtmpsDakIT/RLIBS_1b6487de1dd0" "D:/RCompile/recent/R/library" [01:56:56.095] | : . ' , ; ` | : . ' , Generated cluster UUID [01:56:56.096] | : . ' , ; ` | : . ' , Cluster UUID: 'c74c549de7a79b81a04668f5a0c7959e' [01:56:56.096] | : . ' , ; ` | : . ' , Socket cluster with 2 nodes where 2 nodes are on host 'localhost' (R Under development (unstable) (2025-05-08 r88190 ucrt), platform x86_64-w64-mingw32) [01:56:56.099] | : . ' , ; ` | : . ' .makeCluster() ... done [01:56:56.099] | : . ' , ; ` | : . ' Socket cluster with 2 nodes where 2 nodes are on host 'localhost' (R Under development (unstable) (2025-05-08 r88190 ucrt), platform x86_64-w64-mingw32) [01:56:56.101] | : . ' , ; ` | : . makeCluster(workers, ...) ... done [01:56:56.101] | : . ' , ; ` | : . Number of workers: 2 [01:56:56.101] | : . ' , ; ` | : . Workers UUID: 'c74c549de7a79b81a04668f5a0c7959e' [01:56:56.102] | : . ' , ; ` | : Starting new cluster ... done [01:56:56.102] | : . ' , ; ` | ClusterFutureBackend(..., persistent = FALSE, gc = FALSE, earlySignal = FALSE) ... done [01:56:56.102] | : . ' , ; ` | Backend: <'MultisessionFutureBackend', 'ClusterFutureBackend', 'MultiprocessFutureBackend', 'FutureBackend', 'environment'> [01:56:56.102] | : . ' , ; ` MultisessionFutureBackend(workers = , interrupts = TRUE, ...) ... done [01:56:56.102] | : . ' , ; makeFutureBackend() ... done [01:56:56.103] | : . ' , ; plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:56.103] | : . ' , ; plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:56.103] | : . ' , ; plan(): nbrOfWorkers() = 2 [01:56:56.103] | : . ' , plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... done [01:56:56.103] | : . ' plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = NA, init = TRUE) ... done ** Sum function 'A' with plan('multisession') ... function (x, ...) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, ...) } y } Arguments '...' exists: TRUE [01:56:56.104] | : . ' future(..., label = NULL) ... [01:56:56.104] | : . ' , lazy: FALSE [01:56:56.104] | : . ' , stdout: TRUE [01:56:56.105] | : . ' , conditions: [n=1] 'condition' [01:56:56.105] | : . ' , gc: FALSE [01:56:56.105] | : . ' , earlySignal: FALSE [01:56:56.105] | : . ' , getGlobalsAndPackages() ... [01:56:56.105] | : . ' , ; Searching for globals ... [01:56:56.112] | : . ' , ; ` globals found: [4] '{', 'sum', 'x', '...' [01:56:56.113] | : . ' , ; Searching for globals ... done [01:56:56.113] | : . ' , ; Resolving globals: FALSE [01:56:56.113] | : . ' , ; Tweak future expression to call with '...' arguments ... [01:56:56.113] | : . ' , ; ` { [01:56:56.113] | : . ' , ; ` "# future::getGlobalsAndPackages(): wrapping the original future" [01:56:56.113] | : . ' , ; ` "# expression in do.call(), because function called uses '...' " [01:56:56.113] | : . ' , ; ` "# as a global variable " [01:56:56.113] | : . ' , ; ` do.call(function(...) { [01:56:56.113] | : . ' , ; ` sum(x, ...) [01:56:56.113] | : . ' , ; ` }, args = future.call.arguments) [01:56:56.113] | : . ' , ; ` } [01:56:56.114] | : . ' , ; Tweak future expression to call with '...' arguments ... done [01:56:56.114] | : . ' , ; Search for packages associated with the globals ... [01:56:56.114] | : . ' , ; ` Packages associated with globals: [1] 'base' [01:56:56.114] | : . ' , ; ` Packages: [1] 'base' [01:56:56.115] | : . ' , ; Search for packages associated with the globals ... done [01:56:56.115] | : . ' , ; Packages after dropping 'base': [0] [01:56:56.115] | : . ' , ; globals: [2] 'x', 'future.call.arguments' [01:56:56.115] | : . ' , ; packages: [0] [01:56:56.115] | : . ' , getGlobalsAndPackages() ... done [01:56:56.116] | : . ' , run() for 'Future' (NULL) ... [01:56:56.116] | : . ' , ; state: 'created' [01:56:56.116] | : . ' , ; plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:56.116] | : . ' , ; plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:56.116] | : . ' , ; Using MultisessionFutureBackend ... [01:56:56.116] | : . ' , ; ` Number of futures since start: 0 (0 created, 0 launched, 0 finished) [01:56:56.117] | : . ' , ; ` Launching futures ... [01:56:56.117] | : . ' , ; ` | launchFuture() for ClusterFutureBackend ... [01:56:56.117] | : . ' , ; ` | : Workers: [n=2] [01:56:56.117] | : . ' , ; ` | : Socket cluster with 2 nodes where 2 nodes are on host 'localhost' (R Under development (unstable) (2025-05-08 r88190 ucrt), platform x86_64-w64-mingw32) [01:56:56.120] | : . ' , ; ` | : FutureRegistry: 'workers-c74c549de7a79b81a04668f5a0c7959e' [01:56:56.120] | : . ' , ; ` | : requestWorker() ... [01:56:56.120] | : . ' , ; ` | : . requestNode() ... [01:56:56.121] | : . ' , ; ` | : . ' Number of workers: 2 [01:56:56.121] | : . ' , ; ` | : . ' Polling for a free worker ... [01:56:56.121] | : . ' , ; ` | : . ' , FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... [01:56:56.122] | : . ' , ; ` | : . ' , ; Created empty registry 'workers-c74c549de7a79b81a04668f5a0c7959e' [01:56:56.122] | : . ' , ; ` | : . ' , ; Listing all futures [01:56:56.122] | : . ' , ; ` | : . ' , ; Number of registered futures: 0 [01:56:56.122] | : . ' , ; ` | : . ' , FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... done [01:56:56.122] | : . ' , ; ` | : . ' , Total time: 0 [01:56:56.123] | : . ' , ; ` | : . ' Polling for a free worker ... done [01:56:56.123] | : . ' , ; ` | : . ' FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... [01:56:56.123] | : . ' , ; ` | : . ' , Listing all futures [01:56:56.123] | : . ' , ; ` | : . ' , Number of registered futures: 0 [01:56:56.123] | : . ' , ; ` | : . ' FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... done [01:56:56.123] | : . ' , ; ` | : . ' avail: [n=2] '1', '2' [01:56:56.124] | : . ' , ; ` | : . ' Index of first available worker: 1 [01:56:56.124] | : . ' , ; ` | : . ' Validate that the worker is functional ... [01:56:56.255] | : . ' , ; ` | : . ' , Worker is functional [01:56:56.255] | : . ' , ; ` | : . ' , FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... [01:56:56.255] | : . ' , ; ` | : . ' , ; Listing all futures [01:56:56.256] | : . ' , ; ` | : . ' , ; Number of registered futures: 0 [01:56:56.256] | : . ' , ; ` | : . ' , FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... done [01:56:56.256] | : . ' , ; ` | : . ' Validate that the worker is functional ... done [01:56:56.256] | : . ' , ; ` | : . requestNode() ... done [01:56:56.256] | : . ' , ; ` | : . cluster node index: 1 [01:56:56.257] | : . ' , ; ` | : requestWorker() ... done [01:56:56.257] | : . ' , ; ` | : eraseGlobalEnvironment() ... [01:56:56.257] | : . ' , ; ` | : eraseGlobalEnvironment() ... done [01:56:56.257] | : . ' , ; ` | : launchFuture() ... [01:56:56.258] | : . ' , ; ` | : . cluster node index: 1 [01:56:56.258] | : . ' , ; ` | : . getFutureData() ... [01:56:56.258] | : . ' , ; ` | : . ' getFutureCore() ... [01:56:56.258] | : . ' , ; ` | : . ' , Packages needed by the future expression (n = 0): [01:56:56.258] | : . ' , ; ` | : . ' getFutureCore() ... done [01:56:56.258] | : . ' , ; ` | : . ' getFutureCapture() ... [01:56:56.259] | : . ' , ; ` | : . ' getFutureCapture() ... done [01:56:56.259] | : . ' , ; ` | : . ' getFutureContext() ... [01:56:56.259] | : . ' , ; ` | : . ' , plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:56.259] | : . ' , ; ` | : . ' , ; Getting stack without first backend: [n=0] [01:56:56.259] | : . ' , ; ` | : . ' , plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:56.260] | : . ' , ; ` | : . ' , Packages needed by future backend (n = 0): [01:56:56.260] | : . ' , ; ` | : . ' getFutureContext() ... done [01:56:56.260] | : . ' , ; ` | : . getFutureData() ... done [01:56:56.261] | : . ' , ; ` | : . FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'add', earlySignal = 0) ... [01:56:56.261] | : . ' , ; ` | : . ' Appended future to position #1 [01:56:56.261] | : . ' , ; ` | : . ' Number of registered futures: 1 [01:56:56.261] | : . ' , ; ` | : . FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'add', earlySignal = 0) ... done [01:56:56.261] | : . ' , ; ` | : launchFuture() ... done [01:56:56.262] | : . ' , ; ` | : MultisessionFuture started [01:56:56.262] | : . ' , ; ` | launchFuture() for ClusterFutureBackend ... done [01:56:56.262] | : . ' , ; ` Launching futures ... done [01:56:56.262] | : . ' , ; ` Future launched: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [01:56:56.262] | : . ' , ; Using MultisessionFutureBackend ... done [01:56:56.262] | : . ' , run() for 'Future' (NULL) ... done [01:56:56.263] | : . ' future(..., label = NULL) ... done [01:56:56.263] | : . ' value() for MultisessionFuture (NULL) ... [01:56:56.263] | : . ' , result() for ClusterFuture ... [01:56:56.264] | : . ' , ; assertValidConnection() ... [01:56:56.264] | : . ' , ; ` cluster node index: 1 [01:56:56.264] | : . ' , ; assertValidConnection() ... done [01:56:56.265] | : . ' , ; receiveMessageFromWorker() for ClusterFuture ... [01:56:56.265] | : . ' , ; ` cluster node index: 1 [01:56:56.323] | : . ' , ; ` [1] TRUE [01:56:56.323] | : . ' , ; ` received data: [01:56:56.323] | : . ' , ; ` List of 5 [01:56:56.323] | : . ' , ; ` $ type : chr "VALUE" [01:56:56.323] | : . ' , ; ` $ value :List of 14 [01:56:56.323] | : . ' , ; ` ..$ value : num 6 [01:56:56.323] | : . ' , ; ` ..$ visible : logi TRUE [01:56:56.323] | : . ' , ; ` ..$ stdout : chr "" [01:56:56.323] | : . ' , ; ` ..$ conditions : list() [01:56:56.323] | : . ' , ; ` ..$ rng : logi FALSE [01:56:56.323] | : . ' , ; ` ..$ misuseGlobalEnv : NULL [01:56:56.323] | : . ' , ; ` ..$ misuseConnections:List of 3 [01:56:56.323] | : . ' , ; ` .. ..$ added : NULL [01:56:56.323] | : . ' , ; ` .. ..$ removed : NULL [01:56:56.323] | : . ' , ; ` .. ..$ replaced: NULL [01:56:56.323] | : . ' , ; ` ..$ misuseDevices : NULL [01:56:56.323] | : . ' , ; ` ..$ started : POSIXct[1:1], format: "2025-05-09 01:56:56" [01:56:56.323] | : . ' , ; ` ..$ finished : POSIXct[1:1], format: "2025-05-09 01:56:56" [01:56:56.323] | : . ' , ; ` ..$ uuid : chr [1:2] "f879de011ce8392454d65dcae9f17093" "7" [01:56:56.323] | : . ' , ; ` ..$ session_uuid : chr "74a11a09a7a677777ca55ac7192afaaa" [01:56:56.323] | : . ' , ; ` .. ..- attr(*, "source")=List of 5 [01:56:56.323] | : . ' , ; ` .. .. ..$ host : Named chr "CRANWIN3" [01:56:56.323] | : . ' , ; ` .. .. .. ..- attr(*, "names")= chr "COMPUTERNAME" [01:56:56.323] | : . ' , ; ` .. .. ..$ info : Named chr [1:9] "Windows" "Server x64" "build 20348" "CRANWIN3" ... [01:56:56.323] | : . ' , ; ` .. .. .. ..- attr(*, "names")= chr [1:9] "sysname" "release" "version" "nodename" ... [01:56:56.323] | : . ' , ; ` .. .. ..$ pid : int 147072 [01:56:56.323] | : . ' , ; ` .. .. ..$ time : POSIXct[1:1], format: "2025-05-09 01:56:56" [01:56:56.323] | : . ' , ; ` .. .. ..$ random: int 2147483647 [01:56:56.323] | : . ' , ; ` ..$ r_info :List of 4 [01:56:56.323] | : . ' , ; ` .. ..$ version :Classes 'R_system_version', 'package_version', 'numeric_version' hidden list of 1 [01:56:56.323] | : . ' , ; ` .. .. ..$ : int [1:3] 4 6 0 [01:56:56.323] | : . ' , ; ` .. ..$ os : chr "windows" [01:56:56.323] | : . ' , ; ` .. ..$ os_name : chr "Windows" [01:56:56.323] | : . ' , ; ` .. ..$ captures_utf8: logi TRUE [01:56:56.323] | : . ' , ; ` ..$ version : chr "1.8" [01:56:56.323] | : . ' , ; ` ..- attr(*, "class")= chr "FutureResult" [01:56:56.323] | : . ' , ; ` $ success: logi TRUE [01:56:56.323] | : . ' , ; ` $ time : 'proc_time' Named num [1:5] 0.07 0 0.06 NA NA [01:56:56.323] | : . ' , ; ` ..- attr(*, "names")= chr [1:5] "user.self" "sys.self" "elapsed" "user.child" ... [01:56:56.323] | : . ' , ; ` $ tag : NULL [01:56:56.337] | : . ' , ; ` Received FutureResult [01:56:56.337] | : . ' , ; ` FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'remove', earlySignal = 0) ... [01:56:56.337] | : . ' , ; ` | Removed future from position #1 [01:56:56.337] | : . ' , ; ` | Number of registered futures: 0 [01:56:56.338] | : . ' , ; ` FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'remove', earlySignal = 0) ... done [01:56:56.338] | : . ' , ; ` Erased future from future backend [01:56:56.338] | : . ' , ; ` result() for ClusterFuture ... [01:56:56.338] | : . ' , ; ` | result already collected: FutureResult [01:56:56.338] | : . ' , ; ` result() for ClusterFuture ... done [01:56:56.339] | : . ' , ; receiveMessageFromWorker() for ClusterFuture ... done [01:56:56.339] | : . ' , result() for ClusterFuture ... done [01:56:56.339] | : . ' , result() for ClusterFuture ... [01:56:56.339] | : . ' , ; result already collected: FutureResult [01:56:56.339] | : . ' , result() for ClusterFuture ... done [01:56:56.339] | : . ' , relay stdout ... [01:56:56.340] | : . ' , relay stdout ... done [01:56:56.340] | : . ' , check for misuse ... [01:56:56.340] | : . ' , check for misuse ... done [01:56:56.340] | : . ' value() for MultisessionFuture (NULL) ... done [1] 6 ** Sum function 'B' with plan('multisession') ... function (x, ...) { sumt <- function(x) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, ...) } y } sumt(x) } Arguments '...' exists: TRUE [01:56:56.341] | : . ' future(..., label = NULL) ... [01:56:56.341] | : . ' , lazy: FALSE [01:56:56.341] | : . ' , stdout: TRUE [01:56:56.341] | : . ' , conditions: [n=1] 'condition' [01:56:56.341] | : . ' , gc: FALSE [01:56:56.342] | : . ' , earlySignal: FALSE [01:56:56.342] | : . ' , getGlobalsAndPackages() ... [01:56:56.342] | : . ' , ; Searching for globals ... [01:56:56.350] | : . ' , ; ` globals found: [4] '{', 'sum', 'x', '...' [01:56:56.350] | : . ' , ; Searching for globals ... done [01:56:56.351] | : . ' , ; Resolving globals: FALSE [01:56:56.351] | : . ' , ; Tweak future expression to call with '...' arguments ... [01:56:56.351] | : . ' , ; ` { [01:56:56.351] | : . ' , ; ` "# future::getGlobalsAndPackages(): wrapping the original future" [01:56:56.351] | : . ' , ; ` "# expression in do.call(), because function called uses '...' " [01:56:56.351] | : . ' , ; ` "# as a global variable " [01:56:56.351] | : . ' , ; ` do.call(function(...) { [01:56:56.351] | : . ' , ; ` sum(x, ...) [01:56:56.351] | : . ' , ; ` }, args = future.call.arguments) [01:56:56.351] | : . ' , ; ` } [01:56:56.351] | : . ' , ; Tweak future expression to call with '...' arguments ... done [01:56:56.352] | : . ' , ; Search for packages associated with the globals ... [01:56:56.352] | : . ' , ; ` Packages associated with globals: [1] 'base' [01:56:56.352] | : . ' , ; ` Packages: [1] 'base' [01:56:56.353] | : . ' , ; Search for packages associated with the globals ... done [01:56:56.353] | : . ' , ; Packages after dropping 'base': [0] [01:56:56.353] | : . ' , ; globals: [2] 'x', 'future.call.arguments' [01:56:56.353] | : . ' , ; packages: [0] [01:56:56.353] | : . ' , getGlobalsAndPackages() ... done [01:56:56.354] | : . ' , run() for 'Future' (NULL) ... [01:56:56.354] | : . ' , ; state: 'created' [01:56:56.354] | : . ' , ; plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:56.354] | : . ' , ; plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:56.355] | : . ' , ; Using MultisessionFutureBackend ... [01:56:56.355] | : . ' , ; ` Number of futures since start: 1 (1 created, 1 launched, 1 finished) [01:56:56.355] | : . ' , ; ` Launching futures ... [01:56:56.355] | : . ' , ; ` | launchFuture() for ClusterFutureBackend ... [01:56:56.355] | : . ' , ; ` | : Workers: [n=2] [01:56:56.355] | : . ' , ; ` | : Socket cluster with 2 nodes where 2 nodes are on host 'localhost' (R Under development (unstable) (2025-05-08 r88190 ucrt), platform x86_64-w64-mingw32) [01:56:56.357] | : . ' , ; ` | : FutureRegistry: 'workers-c74c549de7a79b81a04668f5a0c7959e' [01:56:56.358] | : . ' , ; ` | : requestWorker() ... [01:56:56.358] | : . ' , ; ` | : . requestNode() ... [01:56:56.358] | : . ' , ; ` | : . ' Number of workers: 2 [01:56:56.358] | : . ' , ; ` | : . ' Polling for a free worker ... [01:56:56.358] | : . ' , ; ` | : . ' , FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... [01:56:56.359] | : . ' , ; ` | : . ' , ; Listing all futures [01:56:56.359] | : . ' , ; ` | : . ' , ; Number of registered futures: 0 [01:56:56.359] | : . ' , ; ` | : . ' , FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... done [01:56:56.359] | : . ' , ; ` | : . ' , Total time: 0 [01:56:56.359] | : . ' , ; ` | : . ' Polling for a free worker ... done [01:56:56.359] | : . ' , ; ` | : . ' FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... [01:56:56.360] | : . ' , ; ` | : . ' , Listing all futures [01:56:56.360] | : . ' , ; ` | : . ' , Number of registered futures: 0 [01:56:56.360] | : . ' , ; ` | : . ' FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... done [01:56:56.360] | : . ' , ; ` | : . ' avail: [n=2] '1', '2' [01:56:56.360] | : . ' , ; ` | : . ' Index of first available worker: 1 [01:56:56.360] | : . ' , ; ` | : . ' Validate that the worker is functional ... [01:56:56.408] | : . ' , ; ` | : . ' , Worker is functional [01:56:56.409] | : . ' , ; ` | : . ' , FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... [01:56:56.409] | : . ' , ; ` | : . ' , ; Listing all futures [01:56:56.409] | : . ' , ; ` | : . ' , ; Number of registered futures: 0 [01:56:56.409] | : . ' , ; ` | : . ' , FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... done [01:56:56.409] | : . ' , ; ` | : . ' Validate that the worker is functional ... done [01:56:56.410] | : . ' , ; ` | : . requestNode() ... done [01:56:56.410] | : . ' , ; ` | : . cluster node index: 1 [01:56:56.410] | : . ' , ; ` | : requestWorker() ... done [01:56:56.410] | : . ' , ; ` | : eraseGlobalEnvironment() ... [01:56:56.411] | : . ' , ; ` | : eraseGlobalEnvironment() ... done [01:56:56.411] | : . ' , ; ` | : launchFuture() ... [01:56:56.411] | : . ' , ; ` | : . cluster node index: 1 [01:56:56.411] | : . ' , ; ` | : . getFutureData() ... [01:56:56.411] | : . ' , ; ` | : . ' getFutureCore() ... [01:56:56.412] | : . ' , ; ` | : . ' , Packages needed by the future expression (n = 0): [01:56:56.412] | : . ' , ; ` | : . ' getFutureCore() ... done [01:56:56.412] | : . ' , ; ` | : . ' getFutureCapture() ... [01:56:56.414] | : . ' , ; ` | : . ' getFutureCapture() ... done [01:56:56.415] | : . ' , ; ` | : . ' getFutureContext() ... [01:56:56.415] | : . ' , ; ` | : . ' , plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:56.415] | : . ' , ; ` | : . ' , ; Getting stack without first backend: [n=0] [01:56:56.415] | : . ' , ; ` | : . ' , plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:56.415] | : . ' , ; ` | : . ' , Packages needed by future backend (n = 0): [01:56:56.416] | : . ' , ; ` | : . ' getFutureContext() ... done [01:56:56.416] | : . ' , ; ` | : . getFutureData() ... done [01:56:56.416] | : . ' , ; ` | : . FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'add', earlySignal = 0) ... [01:56:56.416] | : . ' , ; ` | : . ' Appended future to position #1 [01:56:56.417] | : . ' , ; ` | : . ' Number of registered futures: 1 [01:56:56.417] | : . ' , ; ` | : . FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'add', earlySignal = 0) ... done [01:56:56.417] | : . ' , ; ` | : launchFuture() ... done [01:56:56.417] | : . ' , ; ` | : MultisessionFuture started [01:56:56.417] | : . ' , ; ` | launchFuture() for ClusterFutureBackend ... done [01:56:56.418] | : . ' , ; ` Launching futures ... done [01:56:56.418] | : . ' , ; ` Future launched: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [01:56:56.418] | : . ' , ; Using MultisessionFutureBackend ... done [01:56:56.418] | : . ' , run() for 'Future' (NULL) ... done [01:56:56.418] | : . ' future(..., label = NULL) ... done [01:56:56.418] | : . ' value() for MultisessionFuture (NULL) ... [01:56:56.419] | : . ' , result() for ClusterFuture ... [01:56:56.419] | : . ' , ; assertValidConnection() ... [01:56:56.419] | : . ' , ; ` cluster node index: 1 [01:56:56.420] | : . ' , ; assertValidConnection() ... done [01:56:56.420] | : . ' , ; receiveMessageFromWorker() for ClusterFuture ... [01:56:56.420] | : . ' , ; ` cluster node index: 1 [01:56:56.421] | : . ' , ; ` [1] TRUE [01:56:56.421] | : . ' , ; ` received data: [01:56:56.421] | : . ' , ; ` List of 5 [01:56:56.421] | : . ' , ; ` $ type : chr "VALUE" [01:56:56.421] | : . ' , ; ` $ value :List of 14 [01:56:56.421] | : . ' , ; ` ..$ value : num 6 [01:56:56.421] | : . ' , ; ` ..$ visible : logi TRUE [01:56:56.421] | : . ' , ; ` ..$ stdout : chr "" [01:56:56.421] | : . ' , ; ` ..$ conditions : list() [01:56:56.421] | : . ' , ; ` ..$ rng : logi FALSE [01:56:56.421] | : . ' , ; ` ..$ misuseGlobalEnv : NULL [01:56:56.421] | : . ' , ; ` ..$ misuseConnections:List of 3 [01:56:56.421] | : . ' , ; ` .. ..$ added : NULL [01:56:56.421] | : . ' , ; ` .. ..$ removed : NULL [01:56:56.421] | : . ' , ; ` .. ..$ replaced: NULL [01:56:56.421] | : . ' , ; ` ..$ misuseDevices : NULL [01:56:56.421] | : . ' , ; ` ..$ started : POSIXct[1:1], format: "2025-05-09 01:56:56" [01:56:56.421] | : . ' , ; ` ..$ finished : POSIXct[1:1], format: "2025-05-09 01:56:56" [01:56:56.421] | : . ' , ; ` ..$ uuid : chr [1:2] "f879de011ce8392454d65dcae9f17093" "8" [01:56:56.421] | : . ' , ; ` ..$ session_uuid : chr "74a11a09a7a677777ca55ac7192afaaa" [01:56:56.421] | : . ' , ; ` .. ..- attr(*, "source")=List of 5 [01:56:56.421] | : . ' , ; ` .. .. ..$ host : Named chr "CRANWIN3" [01:56:56.421] | : . ' , ; ` .. .. .. ..- attr(*, "names")= chr "COMPUTERNAME" [01:56:56.421] | : . ' , ; ` .. .. ..$ info : Named chr [1:9] "Windows" "Server x64" "build 20348" "CRANWIN3" ... [01:56:56.421] | : . ' , ; ` .. .. .. ..- attr(*, "names")= chr [1:9] "sysname" "release" "version" "nodename" ... [01:56:56.421] | : . ' , ; ` .. .. ..$ pid : int 147072 [01:56:56.421] | : . ' , ; ` .. .. ..$ time : POSIXct[1:1], format: "2025-05-09 01:56:56" [01:56:56.421] | : . ' , ; ` .. .. ..$ random: int 2147483647 [01:56:56.421] | : . ' , ; ` ..$ r_info :List of 4 [01:56:56.421] | : . ' , ; ` .. ..$ version :Classes 'R_system_version', 'package_version', 'numeric_version' hidden list of 1 [01:56:56.421] | : . ' , ; ` .. .. ..$ : int [1:3] 4 6 0 [01:56:56.421] | : . ' , ; ` .. ..$ os : chr "windows" [01:56:56.421] | : . ' , ; ` .. ..$ os_name : chr "Windows" [01:56:56.421] | : . ' , ; ` .. ..$ captures_utf8: logi TRUE [01:56:56.421] | : . ' , ; ` ..$ version : chr "1.8" [01:56:56.421] | : . ' , ; ` ..- attr(*, "class")= chr "FutureResult" [01:56:56.421] | : . ' , ; ` $ success: logi TRUE [01:56:56.421] | : . ' , ; ` $ time : 'proc_time' Named num [1:5] 0 0 0 NA NA [01:56:56.421] | : . ' , ; ` ..- attr(*, "names")= chr [1:5] "user.self" "sys.self" "elapsed" "user.child" ... [01:56:56.421] | : . ' , ; ` $ tag : NULL [01:56:56.434] | : . ' , ; ` Received FutureResult [01:56:56.435] | : . ' , ; ` FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'remove', earlySignal = 0) ... [01:56:56.435] | : . ' , ; ` | Removed future from position #1 [01:56:56.435] | : . ' , ; ` | Number of registered futures: 0 [01:56:56.435] | : . ' , ; ` FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'remove', earlySignal = 0) ... done [01:56:56.435] | : . ' , ; ` Erased future from future backend [01:56:56.436] | : . ' , ; ` result() for ClusterFuture ... [01:56:56.436] | : . ' , ; ` | result already collected: FutureResult [01:56:56.436] | : . ' , ; ` result() for ClusterFuture ... done [01:56:56.436] | : . ' , ; receiveMessageFromWorker() for ClusterFuture ... done [01:56:56.436] | : . ' , result() for ClusterFuture ... done [01:56:56.437] | : . ' , result() for ClusterFuture ... [01:56:56.437] | : . ' , ; result already collected: FutureResult [01:56:56.437] | : . ' , result() for ClusterFuture ... done [01:56:56.437] | : . ' , relay stdout ... [01:56:56.437] | : . ' , relay stdout ... done [01:56:56.437] | : . ' , check for misuse ... [01:56:56.438] | : . ' , check for misuse ... done [01:56:56.438] | : . ' value() for MultisessionFuture (NULL) ... done [1] 6 ** Sum function 'C' with plan('multisession') ... function (x, y) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, y) } y } Arguments '...' exists: FALSE [01:56:56.438] | : . ' future(..., label = NULL) ... [01:56:56.439] | : . ' , lazy: FALSE [01:56:56.439] | : . ' , stdout: TRUE [01:56:56.439] | : . ' , conditions: [n=1] 'condition' [01:56:56.439] | : . ' , gc: FALSE [01:56:56.439] | : . ' , earlySignal: FALSE [01:56:56.439] | : . ' , getGlobalsAndPackages() ... [01:56:56.439] | : . ' , ; Searching for globals ... [01:56:56.446] | : . ' , ; ` globals found: [4] '{', 'sum', 'x', 'y' [01:56:56.446] | : . ' , ; Searching for globals ... done [01:56:56.447] | : . ' , ; Resolving globals: FALSE [01:56:56.447] | : . ' , ; Search for packages associated with the globals ... [01:56:56.447] | : . ' , ; ` Packages associated with globals: [1] 'base' [01:56:56.448] | : . ' , ; ` Packages: [1] 'base' [01:56:56.448] | : . ' , ; Search for packages associated with the globals ... done [01:56:56.448] | : . ' , ; Packages after dropping 'base': [0] [01:56:56.448] | : . ' , ; globals: [2] 'x', 'y' [01:56:56.448] | : . ' , ; packages: [0] [01:56:56.448] | : . ' , getGlobalsAndPackages() ... done [01:56:56.449] | : . ' , run() for 'Future' (NULL) ... [01:56:56.449] | : . ' , ; state: 'created' [01:56:56.449] | : . ' , ; plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:56.449] | : . ' , ; plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:56.450] | : . ' , ; Using MultisessionFutureBackend ... [01:56:56.450] | : . ' , ; ` Number of futures since start: 2 (2 created, 2 launched, 2 finished) [01:56:56.450] | : . ' , ; ` Launching futures ... [01:56:56.450] | : . ' , ; ` | launchFuture() for ClusterFutureBackend ... [01:56:56.450] | : . ' , ; ` | : Workers: [n=2] [01:56:56.450] | : . ' , ; ` | : Socket cluster with 2 nodes where 2 nodes are on host 'localhost' (R Under development (unstable) (2025-05-08 r88190 ucrt), platform x86_64-w64-mingw32) [01:56:56.452] | : . ' , ; ` | : FutureRegistry: 'workers-c74c549de7a79b81a04668f5a0c7959e' [01:56:56.453] | : . ' , ; ` | : requestWorker() ... [01:56:56.453] | : . ' , ; ` | : . requestNode() ... [01:56:56.453] | : . ' , ; ` | : . ' Number of workers: 2 [01:56:56.453] | : . ' , ; ` | : . ' Polling for a free worker ... [01:56:56.453] | : . ' , ; ` | : . ' , FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... [01:56:56.453] | : . ' , ; ` | : . ' , ; Listing all futures [01:56:56.454] | : . ' , ; ` | : . ' , ; Number of registered futures: 0 [01:56:56.454] | : . ' , ; ` | : . ' , FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... done [01:56:56.454] | : . ' , ; ` | : . ' , Total time: 0 [01:56:56.454] | : . ' , ; ` | : . ' Polling for a free worker ... done [01:56:56.454] | : . ' , ; ` | : . ' FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... [01:56:56.454] | : . ' , ; ` | : . ' , Listing all futures [01:56:56.455] | : . ' , ; ` | : . ' , Number of registered futures: 0 [01:56:56.455] | : . ' , ; ` | : . ' FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... done [01:56:56.455] | : . ' , ; ` | : . ' avail: [n=2] '1', '2' [01:56:56.455] | : . ' , ; ` | : . ' Index of first available worker: 1 [01:56:56.455] | : . ' , ; ` | : . ' Validate that the worker is functional ... [01:56:56.499] | : . ' , ; ` | : . ' , Worker is functional [01:56:56.499] | : . ' , ; ` | : . ' , FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... [01:56:56.499] | : . ' , ; ` | : . ' , ; Listing all futures [01:56:56.499] | : . ' , ; ` | : . ' , ; Number of registered futures: 0 [01:56:56.500] | : . ' , ; ` | : . ' , FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... done [01:56:56.500] | : . ' , ; ` | : . ' Validate that the worker is functional ... done [01:56:56.500] | : . ' , ; ` | : . requestNode() ... done [01:56:56.500] | : . ' , ; ` | : . cluster node index: 1 [01:56:56.500] | : . ' , ; ` | : requestWorker() ... done [01:56:56.500] | : . ' , ; ` | : eraseGlobalEnvironment() ... [01:56:56.501] | : . ' , ; ` | : eraseGlobalEnvironment() ... done [01:56:56.501] | : . ' , ; ` | : launchFuture() ... [01:56:56.501] | : . ' , ; ` | : . cluster node index: 1 [01:56:56.501] | : . ' , ; ` | : . getFutureData() ... [01:56:56.502] | : . ' , ; ` | : . ' getFutureCore() ... [01:56:56.502] | : . ' , ; ` | : . ' , Packages needed by the future expression (n = 0): [01:56:56.502] | : . ' , ; ` | : . ' getFutureCore() ... done [01:56:56.502] | : . ' , ; ` | : . ' getFutureCapture() ... [01:56:56.502] | : . ' , ; ` | : . ' getFutureCapture() ... done [01:56:56.502] | : . ' , ; ` | : . ' getFutureContext() ... [01:56:56.503] | : . ' , ; ` | : . ' , plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:56.503] | : . ' , ; ` | : . ' , ; Getting stack without first backend: [n=0] [01:56:56.503] | : . ' , ; ` | : . ' , plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:56.503] | : . ' , ; ` | : . ' , Packages needed by future backend (n = 0): [01:56:56.503] | : . ' , ; ` | : . ' getFutureContext() ... done [01:56:56.503] | : . ' , ; ` | : . getFutureData() ... done [01:56:56.504] | : . ' , ; ` | : . FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'add', earlySignal = 0) ... [01:56:56.504] | : . ' , ; ` | : . ' Appended future to position #1 [01:56:56.504] | : . ' , ; ` | : . ' Number of registered futures: 1 [01:56:56.504] | : . ' , ; ` | : . FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'add', earlySignal = 0) ... done [01:56:56.505] | : . ' , ; ` | : launchFuture() ... done [01:56:56.505] | : . ' , ; ` | : MultisessionFuture started [01:56:56.505] | : . ' , ; ` | launchFuture() for ClusterFutureBackend ... done [01:56:56.505] | : . ' , ; ` Launching futures ... done [01:56:56.505] | : . ' , ; ` Future launched: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [01:56:56.505] | : . ' , ; Using MultisessionFutureBackend ... done [01:56:56.505] | : . ' , run() for 'Future' (NULL) ... done [01:56:56.506] | : . ' future(..., label = NULL) ... done [01:56:56.506] | : . ' value() for MultisessionFuture (NULL) ... [01:56:56.506] | : . ' , result() for ClusterFuture ... [01:56:56.506] | : . ' , ; assertValidConnection() ... [01:56:56.506] | : . ' , ; ` cluster node index: 1 [01:56:56.507] | : . ' , ; assertValidConnection() ... done [01:56:56.507] | : . ' , ; receiveMessageFromWorker() for ClusterFuture ... [01:56:56.507] | : . ' , ; ` cluster node index: 1 [01:56:56.508] | : . ' , ; ` [1] TRUE [01:56:56.508] | : . ' , ; ` received data: [01:56:56.509] | : . ' , ; ` List of 5 [01:56:56.509] | : . ' , ; ` $ type : chr "VALUE" [01:56:56.509] | : . ' , ; ` $ value :List of 14 [01:56:56.509] | : . ' , ; ` ..$ value : num 6 [01:56:56.509] | : . ' , ; ` ..$ visible : logi TRUE [01:56:56.509] | : . ' , ; ` ..$ stdout : chr "" [01:56:56.509] | : . ' , ; ` ..$ conditions : list() [01:56:56.509] | : . ' , ; ` ..$ rng : logi FALSE [01:56:56.509] | : . ' , ; ` ..$ misuseGlobalEnv : NULL [01:56:56.509] | : . ' , ; ` ..$ misuseConnections:List of 3 [01:56:56.509] | : . ' , ; ` .. ..$ added : NULL [01:56:56.509] | : . ' , ; ` .. ..$ removed : NULL [01:56:56.509] | : . ' , ; ` .. ..$ replaced: NULL [01:56:56.509] | : . ' , ; ` ..$ misuseDevices : NULL [01:56:56.509] | : . ' , ; ` ..$ started : POSIXct[1:1], format: "2025-05-09 01:56:56" [01:56:56.509] | : . ' , ; ` ..$ finished : POSIXct[1:1], format: "2025-05-09 01:56:56" [01:56:56.509] | : . ' , ; ` ..$ uuid : chr [1:2] "f879de011ce8392454d65dcae9f17093" "9" [01:56:56.509] | : . ' , ; ` ..$ session_uuid : chr "74a11a09a7a677777ca55ac7192afaaa" [01:56:56.509] | : . ' , ; ` .. ..- attr(*, "source")=List of 5 [01:56:56.509] | : . ' , ; ` .. .. ..$ host : Named chr "CRANWIN3" [01:56:56.509] | : . ' , ; ` .. .. .. ..- attr(*, "names")= chr "COMPUTERNAME" [01:56:56.509] | : . ' , ; ` .. .. ..$ info : Named chr [1:9] "Windows" "Server x64" "build 20348" "CRANWIN3" ... [01:56:56.509] | : . ' , ; ` .. .. .. ..- attr(*, "names")= chr [1:9] "sysname" "release" "version" "nodename" ... [01:56:56.509] | : . ' , ; ` .. .. ..$ pid : int 147072 [01:56:56.509] | : . ' , ; ` .. .. ..$ time : POSIXct[1:1], format: "2025-05-09 01:56:56" [01:56:56.509] | : . ' , ; ` .. .. ..$ random: int 2147483647 [01:56:56.509] | : . ' , ; ` ..$ r_info :List of 4 [01:56:56.509] | : . ' , ; ` .. ..$ version :Classes 'R_system_version', 'package_version', 'numeric_version' hidden list of 1 [01:56:56.509] | : . ' , ; ` .. .. ..$ : int [1:3] 4 6 0 [01:56:56.509] | : . ' , ; ` .. ..$ os : chr "windows" [01:56:56.509] | : . ' , ; ` .. ..$ os_name : chr "Windows" [01:56:56.509] | : . ' , ; ` .. ..$ captures_utf8: logi TRUE [01:56:56.509] | : . ' , ; ` ..$ version : chr "1.8" [01:56:56.509] | : . ' , ; ` ..- attr(*, "class")= chr "FutureResult" [01:56:56.509] | : . ' , ; ` $ success: logi TRUE [01:56:56.509] | : . ' , ; ` $ time : 'proc_time' Named num [1:5] 0 0 0 NA NA [01:56:56.509] | : . ' , ; ` ..- attr(*, "names")= chr [1:5] "user.self" "sys.self" "elapsed" "user.child" ... [01:56:56.509] | : . ' , ; ` $ tag : NULL [01:56:56.521] | : . ' , ; ` Received FutureResult [01:56:56.521] | : . ' , ; ` FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'remove', earlySignal = 0) ... [01:56:56.522] | : . ' , ; ` | Removed future from position #1 [01:56:56.522] | : . ' , ; ` | Number of registered futures: 0 [01:56:56.522] | : . ' , ; ` FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'remove', earlySignal = 0) ... done [01:56:56.522] | : . ' , ; ` Erased future from future backend [01:56:56.522] | : . ' , ; ` result() for ClusterFuture ... [01:56:56.523] | : . ' , ; ` | result already collected: FutureResult [01:56:56.523] | : . ' , ; ` result() for ClusterFuture ... done [01:56:56.523] | : . ' , ; receiveMessageFromWorker() for ClusterFuture ... done [01:56:56.523] | : . ' , result() for ClusterFuture ... done [01:56:56.523] | : . ' , result() for ClusterFuture ... [01:56:56.523] | : . ' , ; result already collected: FutureResult [01:56:56.524] | : . ' , result() for ClusterFuture ... done [01:56:56.524] | : . ' , relay stdout ... [01:56:56.524] | : . ' , relay stdout ... done [01:56:56.524] | : . ' , check for misuse ... [01:56:56.524] | : . ' , check for misuse ... done [01:56:56.524] | : . ' value() for MultisessionFuture (NULL) ... done [1] 6 ** Sum function 'D' with plan('multisession') ... function (x, y) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, y, ...) } y } Arguments '...' exists: FALSE [01:56:56.525] | : . ' future(..., label = NULL) ... [01:56:56.525] | : . ' , lazy: FALSE [01:56:56.525] | : . ' , stdout: TRUE [01:56:56.526] | : . ' , conditions: [n=1] 'condition' [01:56:56.526] | : . ' , gc: FALSE [01:56:56.526] | : . ' , earlySignal: FALSE [01:56:56.526] | : . ' , getGlobalsAndPackages() ... [01:56:56.526] | : . ' , ; Searching for globals ... [01:56:56.534] | : . ' , ; ` globals found: [5] '{', 'sum', 'x', 'y', '...' [01:56:56.534] | : . ' , ; Searching for globals ... done [01:56:56.535] | : . ' , ; Resolving globals: FALSE [01:56:56.535] | : . ' , ; Tweak future expression to call with '...' arguments ... [01:56:56.535] | : . ' , ; ` Search for packages associated with the globals ... [01:56:56.535] | : . ' , ; ` | Packages associated with globals: [1] 'base' [01:56:56.536] | : . ' , ; ` | Packages: [1] 'base' [01:56:56.536] | : . ' , ; ` Search for packages associated with the globals ... done [01:56:56.536] | : . ' , ; ` Packages after dropping 'base': [0] [01:56:56.536] | : . ' , ; ` globals: [2] 'x', 'y' [01:56:56.536] | : . ' , ; ` packages: [0] [01:56:56.537] | : . ' , ; Tweak future expression to call with '...' arguments ... done [01:56:56.537] | : . ' , ; run() for 'Future' (NULL) ... [01:56:56.537] | : . ' , ; ` state: 'created' [01:56:56.537] | : . ' , ; ` plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:56.538] | : . ' , ; ` plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:56.538] | : . ' , ; ` Using MultisessionFutureBackend ... [01:56:56.538] | : . ' , ; ` | Number of futures since start: 3 (3 created, 3 launched, 3 finished) [01:56:56.538] | : . ' , ; ` | Launching futures ... [01:56:56.538] | : . ' , ; ` | : launchFuture() for ClusterFutureBackend ... [01:56:56.538] | : . ' , ; ` | : . Workers: [n=2] [01:56:56.539] | : . ' , ; ` | : . Socket cluster with 2 nodes where 2 nodes are on host 'localhost' (R Under development (unstable) (2025-05-08 r88190 ucrt), platform x86_64-w64-mingw32) [01:56:56.540] | : . ' , ; ` | : . FutureRegistry: 'workers-c74c549de7a79b81a04668f5a0c7959e' [01:56:56.541] | : . ' , ; ` | : . requestWorker() ... [01:56:56.541] | : . ' , ; ` | : . ' requestNode() ... [01:56:56.541] | : . ' , ; ` | : . ' , Number of workers: 2 [01:56:56.541] | : . ' , ; ` | : . ' , Polling for a free worker ... [01:56:56.541] | : . ' , ; ` | : . ' , ; FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... [01:56:56.542] | : . ' , ; ` | : . ' , ; ` Listing all futures [01:56:56.542] | : . ' , ; ` | : . ' , ; ` Number of registered futures: 0 [01:56:56.542] | : . ' , ; ` | : . ' , ; FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... done [01:56:56.542] | : . ' , ; ` | : . ' , ; Total time: 0 [01:56:56.542] | : . ' , ; ` | : . ' , Polling for a free worker ... done [01:56:56.542] | : . ' , ; ` | : . ' , FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... [01:56:56.543] | : . ' , ; ` | : . ' , ; Listing all futures [01:56:56.543] | : . ' , ; ` | : . ' , ; Number of registered futures: 0 [01:56:56.543] | : . ' , ; ` | : . ' , FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... done [01:56:56.543] | : . ' , ; ` | : . ' , avail: [n=2] '1', '2' [01:56:56.543] | : . ' , ; ` | : . ' , Index of first available worker: 1 [01:56:56.543] | : . ' , ; ` | : . ' , Validate that the worker is functional ... [01:56:56.589] | : . ' , ; ` | : . ' , ; Worker is functional [01:56:56.589] | : . ' , ; ` | : . ' , ; FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... [01:56:56.590] | : . ' , ; ` | : . ' , ; ` Listing all futures [01:56:56.590] | : . ' , ; ` | : . ' , ; ` Number of registered futures: 0 [01:56:56.590] | : . ' , ; ` | : . ' , ; FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... done [01:56:56.590] | : . ' , ; ` | : . ' , Validate that the worker is functional ... done [01:56:56.590] | : . ' , ; ` | : . ' requestNode() ... done [01:56:56.590] | : . ' , ; ` | : . ' cluster node index: 1 [01:56:56.591] | : . ' , ; ` | : . requestWorker() ... done [01:56:56.591] | : . ' , ; ` | : . eraseGlobalEnvironment() ... [01:56:56.591] | : . ' , ; ` | : . eraseGlobalEnvironment() ... done [01:56:56.592] | : . ' , ; ` | : . launchFuture() ... [01:56:56.592] | : . ' , ; ` | : . ' cluster node index: 1 [01:56:56.592] | : . ' , ; ` | : . ' getFutureData() ... [01:56:56.592] | : . ' , ; ` | : . ' , getFutureCore() ... [01:56:56.592] | : . ' , ; ` | : . ' , ; Packages needed by the future expression (n = 0): [01:56:56.592] | : . ' , ; ` | : . ' , getFutureCore() ... done [01:56:56.593] | : . ' , ; ` | : . ' , getFutureCapture() ... [01:56:56.593] | : . ' , ; ` | : . ' , getFutureCapture() ... done [01:56:56.593] | : . ' , ; ` | : . ' , getFutureContext() ... [01:56:56.593] | : . ' , ; ` | : . ' , ; plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:56.593] | : . ' , ; ` | : . ' , ; ` Getting stack without first backend: [n=0] [01:56:56.593] | : . ' , ; ` | : . ' , ; plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:56.594] | : . ' , ; ` | : . ' , ; Packages needed by future backend (n = 0): [01:56:56.594] | : . ' , ; ` | : . ' , getFutureContext() ... done [01:56:56.594] | : . ' , ; ` | : . ' getFutureData() ... done [01:56:56.594] | : . ' , ; ` | : . ' FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'add', earlySignal = 0) ... [01:56:56.595] | : . ' , ; ` | : . ' , Appended future to position #1 [01:56:56.595] | : . ' , ; ` | : . ' , Number of registered futures: 1 [01:56:56.595] | : . ' , ; ` | : . ' FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'add', earlySignal = 0) ... done [01:56:56.595] | : . ' , ; ` | : . launchFuture() ... done [01:56:56.595] | : . ' , ; ` | : . MultisessionFuture started [01:56:56.595] | : . ' , ; ` | : launchFuture() for ClusterFutureBackend ... done [01:56:56.596] | : . ' , ; ` | Launching futures ... done [01:56:56.596] | : . ' , ; ` | Future launched: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [01:56:56.596] | : . ' , ; ` Using MultisessionFutureBackend ... done [01:56:56.596] | : . ' , ; run() for 'Future' (NULL) ... done [01:56:56.596] | : . ' , getGlobalsAndPackages() ... done [01:56:56.596] | : . ' , value() for MultisessionFuture (NULL) ... [01:56:56.597] | : . ' , ; result() for ClusterFuture ... [01:56:56.597] | : . ' , ; ` assertValidConnection() ... [01:56:56.597] | : . ' , ; ` | cluster node index: 1 [01:56:56.597] | : . ' , ; ` assertValidConnection() ... done [01:56:56.598] | : . ' , ; ` receiveMessageFromWorker() for ClusterFuture ... [01:56:56.598] | : . ' , ; ` | cluster node index: 1 [01:56:56.600] | : . ' , ; ` | [1] TRUE [01:56:56.600] | : . ' , ; ` | received data: [01:56:56.600] | : . ' , ; ` | List of 5 [01:56:56.600] | : . ' , ; ` | $ type : chr "VALUE" [01:56:56.600] | : . ' , ; ` | $ value :List of 14 [01:56:56.600] | : . ' , ; ` | ..$ value : NULL [01:56:56.600] | : . ' , ; ` | ..$ visible : logi TRUE [01:56:56.600] | : . ' , ; ` | ..$ stdout : chr "" [01:56:56.600] | : . ' , ; ` | ..$ conditions :List of 1 [01:56:56.600] | : . ' , ; ` | .. ..$ :List of 5 [01:56:56.600] | : . ' , ; ` | .. .. ..$ condition:List of 2 [01:56:56.600] | : . ' , ; ` | .. .. .. ..$ message: chr "'...' used in an incorrect context" [01:56:56.600] | : . ' , ; ` | .. .. .. ..$ call : language eval(quote({ { ... [01:56:56.600] | : . ' , ; ` | .. .. .. ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" [01:56:56.600] | : . ' , ; ` | .. .. ..$ calls :List of 9 [01:56:56.600] | : . ' , ; ` | .. .. .. ..$ : language eval(expr, envir = globalenv()) [01:56:56.600] | : . ' , ; ` | .. .. .. ..$ : language eval(expr, envir = globalenv()) [01:56:56.600] | : . ' , ; ` | .. .. .. ..$ : language local({ { ... [01:56:56.600] | : . ' , ; ` | .. .. .. ..$ : language eval.parent(substitute(eval(quote(expr), envir))) [01:56:56.600] | : . ' , ; ` | .. .. .. ..$ : language eval(expr, p) [01:56:56.600] | : . ' , ; ` | .. .. .. ..$ : language eval(expr, p) [01:56:56.600] | : . ' , ; ` | .. .. .. ..$ : language eval(quote({ { ... [01:56:56.600] | : . ' , ; ` | .. .. .. ..$ : language eval(quote({ { ... [01:56:56.600] | : . ' , ; ` | .. .. .. ..$ : language eval(quote({ { ... [01:56:56.600] | : . ' , ; ` | .. .. ..$ session :List of 6 [01:56:56.600] | : . ' , ; ` | .. .. .. ..$ r :List of 15 [01:56:56.600] | : . ' , ; ` | .. .. .. .. ..$ platform : chr "x86_64-w64-mingw32" [01:56:56.600] | : . ' , ; ` | .. .. .. .. ..$ arch : chr "x86_64" [01:56:56.600] | : . ' , ; ` | .. .. .. .. ..$ os : chr "mingw32" [01:56:56.600] | : . ' , ; ` | .. .. .. .. ..$ crt : chr "ucrt" [01:56:56.600] | : . ' , ; ` | .. .. .. .. ..$ system : chr "x86_64, mingw32" [01:56:56.600] | : . ' , ; ` | .. .. .. .. ..$ status : chr "Under development (unstable)" [01:56:56.600] | : . ' , ; ` | .. .. .. .. ..$ major : chr "4" [01:56:56.600] | : . ' , ; ` | .. .. .. .. ..$ minor : chr "6.0" [01:56:56.600] | : . ' , ; ` | .. .. .. .. ..$ year : chr "2025" [01:56:56.600] | : . ' , ; ` | .. .. .. .. ..$ month : chr "05" [01:56:56.600] | : . ' , ; ` | .. .. .. .. ..$ day : chr "08" [01:56:56.600] | : . ' , ; ` | .. .. .. .. ..$ svn rev : chr "88190" [01:56:56.600] | : . ' , ; ` | .. .. .. .. ..$ language : chr "R" [01:56:56.600] | : . ' , ; ` | .. .. .. .. ..$ version.string: chr "R Under development (unstable) (2025-05-08 r88190 ucrt)" [01:56:56.600] | : . ' , ; ` | .. .. .. .. ..$ nickname : chr "Unsuffered Consequences" [01:56:56.600] | : . ' , ; ` | .. .. .. ..$ locale : chr "LC_COLLATE=C;LC_CTYPE=German_Germany.utf8;LC_MONETARY=C;LC_NUMERIC=C;LC_TIME=C" [01:56:56.600] | : . ' , ; ` | .. .. .. ..$ rngkind : chr [1:3] "Mersenne-Twister" "Inversion" "Rejection" [01:56:56.600] | : . ' , ; ` | .. .. .. ..$ namespaces: chr [1:16] "compiler" "parallelly" "graphics" "tools" ... [01:56:56.600] | : . ' , ; ` | .. .. .. ..$ search : chr [1:10] ".GlobalEnv" "package:future" "package:stats" "package:graphics" ... [01:56:56.600] | : . ' , ; ` | .. .. .. ..$ system : Named chr [1:9] "Windows" "Server x64" "build 20348" "CRANWIN3" ... [01:56:56.600] | : . ' , ; ` | .. .. .. .. ..- attr(*, "names")= chr [1:9] "sysname" "release" "version" "nodename" ... [01:56:56.600] | : . ' , ; ` | .. .. ..$ timestamp: POSIXct[1:1], format: "2025-05-09 01:56:56" [01:56:56.600] | : . ' , ; ` | .. .. ..$ signaled : int 0 [01:56:56.600] | : . ' , ; ` | ..$ rng : logi FALSE [01:56:56.600] | : . ' , ; ` | ..$ misuseGlobalEnv : NULL [01:56:56.600] | : . ' , ; ` | ..$ misuseConnections:List of 3 [01:56:56.600] | : . ' , ; ` | .. ..$ added : NULL [01:56:56.600] | : . ' , ; ` | .. ..$ removed : NULL [01:56:56.600] | : . ' , ; ` | .. ..$ replaced: NULL [01:56:56.600] | : . ' , ; ` | ..$ misuseDevices : NULL [01:56:56.600] | : . ' , ; ` | ..$ started : POSIXct[1:1], format: "2025-05-09 01:56:56" [01:56:56.600] | : . ' , ; ` | ..$ finished : POSIXct[1:1], format: "2025-05-09 01:56:56" [01:56:56.600] | : . ' , ; ` | ..$ uuid : chr [1:2] "f879de011ce8392454d65dcae9f17093" "10" [01:56:56.600] | : . ' , ; ` | ..$ session_uuid : chr "74a11a09a7a677777ca55ac7192afaaa" [01:56:56.600] | : . ' , ; ` | .. ..- attr(*, "source")=List of 5 [01:56:56.600] | : . ' , ; ` | .. .. ..$ host : Named chr "CRANWIN3" [01:56:56.600] | : . ' , ; ` | .. .. .. ..- attr(*, "names")= chr "COMPUTERNAME" [01:56:56.600] | : . ' , ; ` | .. .. ..$ info : Named chr [1:9] "Windows" "Server x64" "build 20348" "CRANWIN3" ... [01:56:56.600] | : . ' , ; ` | .. .. .. ..- attr(*, "names")= chr [1:9] "sysname" "release" "version" "nodename" ... [01:56:56.600] | : . ' , ; ` | .. .. ..$ pid : int 147072 [01:56:56.600] | : . ' , ; ` | .. .. ..$ time : POSIXct[1:1], format: "2025-05-09 01:56:56" [01:56:56.600] | : . ' , ; ` | .. .. ..$ random: int 2147483647 [01:56:56.600] | : . ' , ; ` | ..$ r_info :List of 4 [01:56:56.600] | : . ' , ; ` | .. ..$ version :Classes 'R_system_version', 'package_version', 'numeric_version' hidden list of 1 [01:56:56.600] | : . ' , ; ` | .. .. ..$ : int [1:3] 4 6 0 [01:56:56.600] | : . ' , ; ` | .. ..$ os : chr "windows" [01:56:56.600] | : . ' , ; ` | .. ..$ os_name : chr "Windows" [01:56:56.600] | : . ' , ; ` | .. ..$ captures_utf8: logi TRUE [01:56:56.600] | : . ' , ; ` | ..$ version : chr "1.8" [01:56:56.600] | : . ' , ; ` | ..- attr(*, "class")= chr "FutureResult" [01:56:56.600] | : . ' , ; ` | $ success: logi TRUE [01:56:56.600] | : . ' , ; ` | $ time : 'proc_time' Named num [1:5] 0 0 0 NA NA [01:56:56.600] | : . ' , ; ` | ..- attr(*, "names")= chr [1:5] "user.self" "sys.self" "elapsed" "user.child" ... [01:56:56.600] | : . ' , ; ` | $ tag : NULL [01:56:56.625] | : . ' , ; ` | Received FutureResult [01:56:56.625] | : . ' , ; ` | FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'remove', earlySignal = 0) ... [01:56:56.625] | : . ' , ; ` | : Removed future from position #1 [01:56:56.626] | : . ' , ; ` | : Number of registered futures: 0 [01:56:56.626] | : . ' , ; ` | FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'remove', earlySignal = 0) ... done [01:56:56.626] | : . ' , ; ` | Erased future from future backend [01:56:56.626] | : . ' , ; ` | result() for ClusterFuture ... [01:56:56.626] | : . ' , ; ` | : result already collected: FutureResult [01:56:56.626] | : . ' , ; ` | result() for ClusterFuture ... done [01:56:56.627] | : . ' , ; ` | signalConditions() ... [01:56:56.627] | : . ' , ; ` | : include = 'immediateCondition' [01:56:56.627] | : . ' , ; ` | : exclude = [01:56:56.627] | : . ' , ; ` | : resignal = FALSE [01:56:56.627] | : . ' , ; ` | : Number of conditions: 1 [01:56:56.627] | : . ' , ; ` | signalConditions() ... done [01:56:56.628] | : . ' , ; ` receiveMessageFromWorker() for ClusterFuture ... done [01:56:56.628] | : . ' , ; result() for ClusterFuture ... done [01:56:56.628] | : . ' , ; result() for ClusterFuture ... [01:56:56.628] | : . ' , ; ` result already collected: FutureResult [01:56:56.628] | : . ' , ; result() for ClusterFuture ... done [01:56:56.628] | : . ' , ; signalConditions() ... [01:56:56.629] | : . ' , ; ` include = 'immediateCondition' [01:56:56.629] | : . ' , ; ` exclude = [01:56:56.629] | : . ' , ; ` resignal = FALSE [01:56:56.629] | : . ' , ; ` Number of conditions: 1 [01:56:56.629] | : . ' , ; signalConditions() ... done [01:56:56.629] | : . ' , ; relay stdout ... [01:56:56.630] | : . ' , ; relay stdout ... done [01:56:56.630] | : . ' , ; check for misuse ... [01:56:56.630] | : . ' , ; check for misuse ... done [01:56:56.630] | : . ' , ; relay conditions ... [01:56:56.630] | : . ' , ; ` Future state: 'finished' [01:56:56.630] | : . ' , ; ` result() for ClusterFuture ... [01:56:56.631] | : . ' , ; ` | result already collected: FutureResult [01:56:56.631] | : . ' , ; ` result() for ClusterFuture ... done [01:56:56.631] | : . ' , ; ` signalConditions() ... [01:56:56.631] | : . ' , ; ` | include = 'condition' [01:56:56.631] | : . ' , ; ` | exclude = 'immediateCondition' [01:56:56.631] | : . ' , ; ` | resignal = TRUE [01:56:56.632] | : . ' , ; ` | Number of conditions: 1 [01:56:56.632] | : . ' , ; ` | Condition #1: 'simpleError', 'error', 'condition' [01:56:56.632] | : . ' , ; ` signalConditions() ... done [01:56:56.632] | : . ' , ; relay conditions ... done Error in eval(quote({ : '...' used in an incorrect context [1] "Error in eval(quote({ : '...' used in an incorrect context\n" attr(,"class") [1] "try-error" attr(,"condition") ** Sum function 'E' with plan('multisession') ... function (...) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) globals <- globals::globalsByName("...", envir = environment()) f <- future({ fcn <- function() sum(...) fcn() }, envir = parent.frame(), globals = globals) y <- value(f) y } Arguments '...' exists: TRUE [01:56:56.633] | : . ' , ; future(..., label = NULL) ... [01:56:56.633] | : . ' , ; ` lazy: FALSE [01:56:56.633] | : . ' , ; ` stdout: TRUE [01:56:56.633] | : . ' , ; ` conditions: [n=1] 'condition' [01:56:56.634] | : . ' , ; ` gc: FALSE [01:56:56.634] | : . ' , ; ` earlySignal: FALSE [01:56:56.634] | : . ' , ; ` getGlobalsAndPackages() ... [01:56:56.634] | : . ' , ; ` | globals passed as-is: [1] '...' [01:56:56.634] | : . ' , ; ` | Resolving globals: FALSE [01:56:56.634] | : . ' , ; ` | Tweak future expression to call with '...' arguments ... [01:56:56.635] | : . ' , ; ` | : { [01:56:56.635] | : . ' , ; ` | : "# future::getGlobalsAndPackages(): wrapping the original future" [01:56:56.635] | : . ' , ; ` | : "# expression in do.call(), because function called uses '...' " [01:56:56.635] | : . ' , ; ` | : "# as a global variable " [01:56:56.635] | : . ' , ; ` | : do.call(function(...) { [01:56:56.635] | : . ' , ; ` | : fcn <- function() sum(...) [01:56:56.635] | : . ' , ; ` | : fcn() [01:56:56.635] | : . ' , ; ` | : }, args = future.call.arguments) [01:56:56.635] | : . ' , ; ` | : } [01:56:56.635] | : . ' , ; ` | Tweak future expression to call with '...' arguments ... done [01:56:56.635] | : . ' , ; ` | Search for packages associated with the globals ... [01:56:56.636] | : . ' , ; ` | : Packages associated with globals: [0] [01:56:56.636] | : . ' , ; ` | : Packages: [0] [01:56:56.636] | : . ' , ; ` | Search for packages associated with the globals ... done [01:56:56.636] | : . ' , ; ` | Packages after dropping 'base': [0] [01:56:56.636] | : . ' , ; ` | globals: [1] 'future.call.arguments' [01:56:56.637] | : . ' , ; ` | packages: [0] [01:56:56.637] | : . ' , ; ` getGlobalsAndPackages() ... done [01:56:56.637] | : . ' , ; ` run() for 'Future' (NULL) ... [01:56:56.637] | : . ' , ; ` | state: 'created' [01:56:56.637] | : . ' , ; ` | plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:56.638] | : . ' , ; ` | plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:56.638] | : . ' , ; ` | Using MultisessionFutureBackend ... [01:56:56.638] | : . ' , ; ` | : Number of futures since start: 4 (4 created, 4 launched, 4 finished) [01:56:56.638] | : . ' , ; ` | : Launching futures ... [01:56:56.638] | : . ' , ; ` | : . launchFuture() for ClusterFutureBackend ... [01:56:56.638] | : . ' , ; ` | : . ' Workers: [n=2] [01:56:56.639] | : . ' , ; ` | : . ' Socket cluster with 2 nodes where 2 nodes are on host 'localhost' (R Under development (unstable) (2025-05-08 r88190 ucrt), platform x86_64-w64-mingw32) [01:56:56.640] | : . ' , ; ` | : . ' FutureRegistry: 'workers-c74c549de7a79b81a04668f5a0c7959e' [01:56:56.641] | : . ' , ; ` | : . ' requestWorker() ... [01:56:56.641] | : . ' , ; ` | : . ' , requestNode() ... [01:56:56.641] | : . ' , ; ` | : . ' , ; Number of workers: 2 [01:56:56.641] | : . ' , ; ` | : . ' , ; Polling for a free worker ... [01:56:56.641] | : . ' , ; ` | : . ' , ; ` FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... [01:56:56.641] | : . ' , ; ` | : . ' , ; ` | Listing all futures [01:56:56.642] | : . ' , ; ` | : . ' , ; ` | Number of registered futures: 0 [01:56:56.642] | : . ' , ; ` | : . ' , ; ` FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... done [01:56:56.642] | : . ' , ; ` | : . ' , ; ` Total time: 0 [01:56:56.642] | : . ' , ; ` | : . ' , ; Polling for a free worker ... done [01:56:56.642] | : . ' , ; ` | : . ' , ; FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... [01:56:56.642] | : . ' , ; ` | : . ' , ; ` Listing all futures [01:56:56.643] | : . ' , ; ` | : . ' , ; ` Number of registered futures: 0 [01:56:56.643] | : . ' , ; ` | : . ' , ; FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... done [01:56:56.643] | : . ' , ; ` | : . ' , ; avail: [n=2] '1', '2' [01:56:56.643] | : . ' , ; ` | : . ' , ; Index of first available worker: 1 [01:56:56.643] | : . ' , ; ` | : . ' , ; Validate that the worker is functional ... [01:56:56.687] | : . ' , ; ` | : . ' , ; ` Worker is functional [01:56:56.688] | : . ' , ; ` | : . ' , ; ` FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... [01:56:56.688] | : . ' , ; ` | : . ' , ; ` | Listing all futures [01:56:56.688] | : . ' , ; ` | : . ' , ; ` | Number of registered futures: 0 [01:56:56.688] | : . ' , ; ` | : . ' , ; ` FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... done [01:56:56.688] | : . ' , ; ` | : . ' , ; Validate that the worker is functional ... done [01:56:56.688] | : . ' , ; ` | : . ' , requestNode() ... done [01:56:56.689] | : . ' , ; ` | : . ' , cluster node index: 1 [01:56:56.689] | : . ' , ; ` | : . ' requestWorker() ... done [01:56:56.689] | : . ' , ; ` | : . ' eraseGlobalEnvironment() ... [01:56:56.689] | : . ' , ; ` | : . ' eraseGlobalEnvironment() ... done [01:56:56.690] | : . ' , ; ` | : . ' launchFuture() ... [01:56:56.690] | : . ' , ; ` | : . ' , cluster node index: 1 [01:56:56.690] | : . ' , ; ` | : . ' , getFutureData() ... [01:56:56.690] | : . ' , ; ` | : . ' , ; getFutureCore() ... [01:56:56.690] | : . ' , ; ` | : . ' , ; ` Packages needed by the future expression (n = 0): [01:56:56.691] | : . ' , ; ` | : . ' , ; getFutureCore() ... done [01:56:56.691] | : . ' , ; ` | : . ' , ; getFutureCapture() ... [01:56:56.691] | : . ' , ; ` | : . ' , ; getFutureCapture() ... done [01:56:56.691] | : . ' , ; ` | : . ' , ; getFutureContext() ... [01:56:56.691] | : . ' , ; ` | : . ' , ; ` plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:56.691] | : . ' , ; ` | : . ' , ; ` | Getting stack without first backend: [n=0] [01:56:56.692] | : . ' , ; ` | : . ' , ; ` plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:56.692] | : . ' , ; ` | : . ' , ; ` Packages needed by future backend (n = 0): [01:56:56.692] | : . ' , ; ` | : . ' , ; getFutureContext() ... done [01:56:56.692] | : . ' , ; ` | : . ' , getFutureData() ... done [01:56:56.693] | : . ' , ; ` | : . ' , FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'add', earlySignal = 0) ... [01:56:56.693] | : . ' , ; ` | : . ' , ; Appended future to position #1 [01:56:56.693] | : . ' , ; ` | : . ' , ; Number of registered futures: 1 [01:56:56.693] | : . ' , ; ` | : . ' , FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'add', earlySignal = 0) ... done [01:56:56.693] | : . ' , ; ` | : . ' launchFuture() ... done [01:56:56.694] | : . ' , ; ` | : . ' MultisessionFuture started [01:56:56.694] | : . ' , ; ` | : . launchFuture() for ClusterFutureBackend ... done [01:56:56.694] | : . ' , ; ` | : Launching futures ... done [01:56:56.694] | : . ' , ; ` | : Future launched: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [01:56:56.694] | : . ' , ; ` | Using MultisessionFutureBackend ... done [01:56:56.694] | : . ' , ; ` run() for 'Future' (NULL) ... done [01:56:56.695] | : . ' , ; future(..., label = NULL) ... done [01:56:56.695] | : . ' , ; value() for MultisessionFuture (NULL) ... [01:56:56.695] | : . ' , ; ` result() for ClusterFuture ... [01:56:56.695] | : . ' , ; ` | assertValidConnection() ... [01:56:56.695] | : . ' , ; ` | : cluster node index: 1 [01:56:56.696] | : . ' , ; ` | assertValidConnection() ... done [01:56:56.696] | : . ' , ; ` | receiveMessageFromWorker() for ClusterFuture ... [01:56:56.696] | : . ' , ; ` | : cluster node index: 1 [01:56:56.697] | : . ' , ; ` | : [1] TRUE [01:56:56.697] | : . ' , ; ` | : received data: [01:56:56.698] | : . ' , ; ` | : List of 5 [01:56:56.698] | : . ' , ; ` | : $ type : chr "VALUE" [01:56:56.698] | : . ' , ; ` | : $ value :List of 14 [01:56:56.698] | : . ' , ; ` | : ..$ value : num 6 [01:56:56.698] | : . ' , ; ` | : ..$ visible : logi TRUE [01:56:56.698] | : . ' , ; ` | : ..$ stdout : chr "" [01:56:56.698] | : . ' , ; ` | : ..$ conditions : list() [01:56:56.698] | : . ' , ; ` | : ..$ rng : logi FALSE [01:56:56.698] | : . ' , ; ` | : ..$ misuseGlobalEnv : NULL [01:56:56.698] | : . ' , ; ` | : ..$ misuseConnections:List of 3 [01:56:56.698] | : . ' , ; ` | : .. ..$ added : NULL [01:56:56.698] | : . ' , ; ` | : .. ..$ removed : NULL [01:56:56.698] | : . ' , ; ` | : .. ..$ replaced: NULL [01:56:56.698] | : . ' , ; ` | : ..$ misuseDevices : NULL [01:56:56.698] | : . ' , ; ` | : ..$ started : POSIXct[1:1], format: "2025-05-09 01:56:56" [01:56:56.698] | : . ' , ; ` | : ..$ finished : POSIXct[1:1], format: "2025-05-09 01:56:56" [01:56:56.698] | : . ' , ; ` | : ..$ uuid : chr [1:2] "f879de011ce8392454d65dcae9f17093" "11" [01:56:56.698] | : . ' , ; ` | : ..$ session_uuid : chr "74a11a09a7a677777ca55ac7192afaaa" [01:56:56.698] | : . ' , ; ` | : .. ..- attr(*, "source")=List of 5 [01:56:56.698] | : . ' , ; ` | : .. .. ..$ host : Named chr "CRANWIN3" [01:56:56.698] | : . ' , ; ` | : .. .. .. ..- attr(*, "names")= chr "COMPUTERNAME" [01:56:56.698] | : . ' , ; ` | : .. .. ..$ info : Named chr [1:9] "Windows" "Server x64" "build 20348" "CRANWIN3" ... [01:56:56.698] | : . ' , ; ` | : .. .. .. ..- attr(*, "names")= chr [1:9] "sysname" "release" "version" "nodename" ... [01:56:56.698] | : . ' , ; ` | : .. .. ..$ pid : int 147072 [01:56:56.698] | : . ' , ; ` | : .. .. ..$ time : POSIXct[1:1], format: "2025-05-09 01:56:56" [01:56:56.698] | : . ' , ; ` | : .. .. ..$ random: int 2147483647 [01:56:56.698] | : . ' , ; ` | : ..$ r_info :List of 4 [01:56:56.698] | : . ' , ; ` | : .. ..$ version :Classes 'R_system_version', 'package_version', 'numeric_version' hidden list of 1 [01:56:56.698] | : . ' , ; ` | : .. .. ..$ : int [1:3] 4 6 0 [01:56:56.698] | : . ' , ; ` | : .. ..$ os : chr "windows" [01:56:56.698] | : . ' , ; ` | : .. ..$ os_name : chr "Windows" [01:56:56.698] | : . ' , ; ` | : .. ..$ captures_utf8: logi TRUE [01:56:56.698] | : . ' , ; ` | : ..$ version : chr "1.8" [01:56:56.698] | : . ' , ; ` | : ..- attr(*, "class")= chr "FutureResult" [01:56:56.698] | : . ' , ; ` | : $ success: logi TRUE [01:56:56.698] | : . ' , ; ` | : $ time : 'proc_time' Named num [1:5] 0.02 0 0.01 NA NA [01:56:56.698] | : . ' , ; ` | : ..- attr(*, "names")= chr [1:5] "user.self" "sys.self" "elapsed" "user.child" ... [01:56:56.698] | : . ' , ; ` | : $ tag : NULL [01:56:56.711] | : . ' , ; ` | : Received FutureResult [01:56:56.711] | : . ' , ; ` | : FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'remove', earlySignal = 0) ... [01:56:56.711] | : . ' , ; ` | : . Removed future from position #1 [01:56:56.711] | : . ' , ; ` | : . Number of registered futures: 0 [01:56:56.711] | : . ' , ; ` | : FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'remove', earlySignal = 0) ... done [01:56:56.712] | : . ' , ; ` | : Erased future from future backend [01:56:56.712] | : . ' , ; ` | : result() for ClusterFuture ... [01:56:56.712] | : . ' , ; ` | : . result already collected: FutureResult [01:56:56.712] | : . ' , ; ` | : result() for ClusterFuture ... done [01:56:56.712] | : . ' , ; ` | receiveMessageFromWorker() for ClusterFuture ... done [01:56:56.713] | : . ' , ; ` result() for ClusterFuture ... done [01:56:56.713] | : . ' , ; ` result() for ClusterFuture ... [01:56:56.713] | : . ' , ; ` | result already collected: FutureResult [01:56:56.713] | : . ' , ; ` result() for ClusterFuture ... done [01:56:56.713] | : . ' , ; ` relay stdout ... [01:56:56.713] | : . ' , ; ` relay stdout ... done [01:56:56.714] | : . ' , ; ` check for misuse ... [01:56:56.714] | : . ' , ; ` check for misuse ... done [01:56:56.714] | : . ' , ; value() for MultisessionFuture (NULL) ... done [1] 6 ** Sum function 'F' with plan('multisession') ... function (x, y) { message("Using '...' in a formula") fcn <- function(x, y) { z = ~list(...) sum(x, y) } f <- future(fcn(x, y)) y <- value(f) y } Using '...' in a formula [01:56:56.714] | : . ' , ; future(..., label = NULL) ... [01:56:56.715] | : . ' , ; ` lazy: FALSE [01:56:56.715] | : . ' , ; ` stdout: TRUE [01:56:56.715] | : . ' , ; ` conditions: [n=1] 'condition' [01:56:56.715] | : . ' , ; ` gc: FALSE [01:56:56.715] | : . ' , ; ` earlySignal: FALSE [01:56:56.717] | : . ' , ; ` getGlobalsAndPackages() ... [01:56:56.718] | : . ' , ; ` | Searching for globals ... [01:56:56.733] | : . ' , ; ` | : globals found: [9] 'fcn', 'x', 'y', '{', '=', '~', 'list', '...', 'sum' [01:56:56.733] | : . ' , ; ` | Searching for globals ... done [01:56:56.733] | : . ' , ; ` | Resolving globals: FALSE [01:56:56.734] | : . ' , ; ` | Tweak future expression to call with '...' arguments ... [01:56:56.734] | : . ' , ; ` | : Search for packages associated with the globals ... [01:56:56.734] | : . ' , ; ` | : . Packages associated with globals: [1] 'base' [01:56:56.735] | : . ' , ; ` | : . Packages: [1] 'base' [01:56:56.735] | : . ' , ; ` | : Search for packages associated with the globals ... done [01:56:56.735] | : . ' , ; ` | : Packages after dropping 'base': [0] [01:56:56.735] | : . ' , ; ` | : globals: [3] 'fcn', 'x', 'y' [01:56:56.736] | : . ' , ; ` | : packages: [0] [01:56:56.736] | : . ' , ; ` | Tweak future expression to call with '...' arguments ... done [01:56:56.736] | : . ' , ; ` | run() for 'Future' (NULL) ... [01:56:56.736] | : . ' , ; ` | : state: 'created' [01:56:56.736] | : . ' , ; ` | : plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:56.737] | : . ' , ; ` | : plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:56.737] | : . ' , ; ` | : Using MultisessionFutureBackend ... [01:56:56.737] | : . ' , ; ` | : . Number of futures since start: 5 (5 created, 5 launched, 5 finished) [01:56:56.737] | : . ' , ; ` | : . Launching futures ... [01:56:56.737] | : . ' , ; ` | : . ' launchFuture() for ClusterFutureBackend ... [01:56:56.738] | : . ' , ; ` | : . ' , Workers: [n=2] [01:56:56.738] | : . ' , ; ` | : . ' , Socket cluster with 2 nodes where 2 nodes are on host 'localhost' (R Under development (unstable) (2025-05-08 r88190 ucrt), platform x86_64-w64-mingw32) [01:56:56.740] | : . ' , ; ` | : . ' , FutureRegistry: 'workers-c74c549de7a79b81a04668f5a0c7959e' [01:56:56.740] | : . ' , ; ` | : . ' , requestWorker() ... [01:56:56.740] | : . ' , ; ` | : . ' , ; requestNode() ... [01:56:56.740] | : . ' , ; ` | : . ' , ; ` Number of workers: 2 [01:56:56.740] | : . ' , ; ` | : . ' , ; ` Polling for a free worker ... [01:56:56.740] | : . ' , ; ` | : . ' , ; ` | FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... [01:56:56.741] | : . ' , ; ` | : . ' , ; ` | : Listing all futures [01:56:56.741] | : . ' , ; ` | : . ' , ; ` | : Number of registered futures: 0 [01:56:56.741] | : . ' , ; ` | : . ' , ; ` | FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... done [01:56:56.741] | : . ' , ; ` | : . ' , ; ` | Total time: 0 [01:56:56.741] | : . ' , ; ` | : . ' , ; ` Polling for a free worker ... done [01:56:56.741] | : . ' , ; ` | : . ' , ; ` FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... [01:56:56.742] | : . ' , ; ` | : . ' , ; ` | Listing all futures [01:56:56.742] | : . ' , ; ` | : . ' , ; ` | Number of registered futures: 0 [01:56:56.742] | : . ' , ; ` | : . ' , ; ` FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... done [01:56:56.742] | : . ' , ; ` | : . ' , ; ` avail: [n=2] '1', '2' [01:56:56.742] | : . ' , ; ` | : . ' , ; ` Index of first available worker: 1 [01:56:56.742] | : . ' , ; ` | : . ' , ; ` Validate that the worker is functional ... [01:56:56.811] | : . ' , ; ` | : . ' , ; ` | Worker is functional [01:56:56.811] | : . ' , ; ` | : . ' , ; ` | FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... [01:56:56.811] | : . ' , ; ` | : . ' , ; ` | : Listing all futures [01:56:56.812] | : . ' , ; ` | : . ' , ; ` | : Number of registered futures: 0 [01:56:56.812] | : . ' , ; ` | : . ' , ; ` | FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'list', earlySignal = 0) ... done [01:56:56.812] | : . ' , ; ` | : . ' , ; ` Validate that the worker is functional ... done [01:56:56.812] | : . ' , ; ` | : . ' , ; requestNode() ... done [01:56:56.812] | : . ' , ; ` | : . ' , ; cluster node index: 1 [01:56:56.812] | : . ' , ; ` | : . ' , requestWorker() ... done [01:56:56.813] | : . ' , ; ` | : . ' , eraseGlobalEnvironment() ... [01:56:56.813] | : . ' , ; ` | : . ' , eraseGlobalEnvironment() ... done [01:56:56.813] | : . ' , ; ` | : . ' , launchFuture() ... [01:56:56.813] | : . ' , ; ` | : . ' , ; cluster node index: 1 [01:56:56.814] | : . ' , ; ` | : . ' , ; getFutureData() ... [01:56:56.814] | : . ' , ; ` | : . ' , ; ` getFutureCore() ... [01:56:56.814] | : . ' , ; ` | : . ' , ; ` | Packages needed by the future expression (n = 0): [01:56:56.814] | : . ' , ; ` | : . ' , ; ` getFutureCore() ... done [01:56:56.814] | : . ' , ; ` | : . ' , ; ` getFutureCapture() ... [01:56:56.814] | : . ' , ; ` | : . ' , ; ` getFutureCapture() ... done [01:56:56.815] | : . ' , ; ` | : . ' , ; ` getFutureContext() ... [01:56:56.815] | : . ' , ; ` | : . ' , ; ` | plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... [01:56:56.815] | : . ' , ; ` | : . ' , ; ` | : Getting stack without first backend: [n=0] [01:56:56.815] | : . ' , ; ` | : . ' , ; ` | plan(, .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [01:56:56.815] | : . ' , ; ` | : . ' , ; ` | Packages needed by future backend (n = 0): [01:56:56.815] | : . ' , ; ` | : . ' , ; ` getFutureContext() ... done [01:56:56.816] | : . ' , ; ` | : . ' , ; getFutureData() ... done [01:56:56.816] | : . ' , ; ` | : . ' , ; FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'add', earlySignal = 0) ... [01:56:56.816] | : . ' , ; ` | : . ' , ; ` Appended future to position #1 [01:56:56.816] | : . ' , ; ` | : . ' , ; ` Number of registered futures: 1 [01:56:56.817] | : . ' , ; ` | : . ' , ; FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'add', earlySignal = 0) ... done [01:56:56.817] | : . ' , ; ` | : . ' , launchFuture() ... done [01:56:56.817] | : . ' , ; ` | : . ' , MultisessionFuture started [01:56:56.817] | : . ' , ; ` | : . ' launchFuture() for ClusterFutureBackend ... done [01:56:56.817] | : . ' , ; ` | : . Launching futures ... done [01:56:56.817] | : . ' , ; ` | : . Future launched: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [01:56:56.818] | : . ' , ; ` | : Using MultisessionFutureBackend ... done [01:56:56.818] | : . ' , ; ` | run() for 'Future' (NULL) ... done [01:56:56.818] | : . ' , ; ` getGlobalsAndPackages() ... done [01:56:56.818] | : . ' , ; ` value() for MultisessionFuture (NULL) ... [01:56:56.818] | : . ' , ; ` | result() for ClusterFuture ... [01:56:56.818] | : . ' , ; ` | : assertValidConnection() ... [01:56:56.819] | : . ' , ; ` | : . cluster node index: 1 [01:56:56.819] | : . ' , ; ` | : assertValidConnection() ... done [01:56:56.819] | : . ' , ; ` | : receiveMessageFromWorker() for ClusterFuture ... [01:56:56.819] | : . ' , ; ` | : . cluster node index: 1 [01:56:56.821] | : . ' , ; ` | : . [1] TRUE [01:56:56.821] | : . ' , ; ` | : . received data: [01:56:56.821] | : . ' , ; ` | : . List of 5 [01:56:56.821] | : . ' , ; ` | : . $ type : chr "VALUE" [01:56:56.821] | : . ' , ; ` | : . $ value :List of 14 [01:56:56.821] | : . ' , ; ` | : . ..$ value : num 6 [01:56:56.821] | : . ' , ; ` | : . ..$ visible : logi TRUE [01:56:56.821] | : . ' , ; ` | : . ..$ stdout : chr "" [01:56:56.821] | : . ' , ; ` | : . ..$ conditions : list() [01:56:56.821] | : . ' , ; ` | : . ..$ rng : logi FALSE [01:56:56.821] | : . ' , ; ` | : . ..$ misuseGlobalEnv : NULL [01:56:56.821] | : . ' , ; ` | : . ..$ misuseConnections:List of 3 [01:56:56.821] | : . ' , ; ` | : . .. ..$ added : NULL [01:56:56.821] | : . ' , ; ` | : . .. ..$ removed : NULL [01:56:56.821] | : . ' , ; ` | : . .. ..$ replaced: NULL [01:56:56.821] | : . ' , ; ` | : . ..$ misuseDevices : NULL [01:56:56.821] | : . ' , ; ` | : . ..$ started : POSIXct[1:1], format: "2025-05-09 01:56:56" [01:56:56.821] | : . ' , ; ` | : . ..$ finished : POSIXct[1:1], format: "2025-05-09 01:56:56" [01:56:56.821] | : . ' , ; ` | : . ..$ uuid : chr [1:2] "f879de011ce8392454d65dcae9f17093" "12" [01:56:56.821] | : . ' , ; ` | : . ..$ session_uuid : chr "74a11a09a7a677777ca55ac7192afaaa" [01:56:56.821] | : . ' , ; ` | : . .. ..- attr(*, "source")=List of 5 [01:56:56.821] | : . ' , ; ` | : . .. .. ..$ host : Named chr "CRANWIN3" [01:56:56.821] | : . ' , ; ` | : . .. .. .. ..- attr(*, "names")= chr "COMPUTERNAME" [01:56:56.821] | : . ' , ; ` | : . .. .. ..$ info : Named chr [1:9] "Windows" "Server x64" "build 20348" "CRANWIN3" ... [01:56:56.821] | : . ' , ; ` | : . .. .. .. ..- attr(*, "names")= chr [1:9] "sysname" "release" "version" "nodename" ... [01:56:56.821] | : . ' , ; ` | : . .. .. ..$ pid : int 147072 [01:56:56.821] | : . ' , ; ` | : . .. .. ..$ time : POSIXct[1:1], format: "2025-05-09 01:56:56" [01:56:56.821] | : . ' , ; ` | : . .. .. ..$ random: int 2147483647 [01:56:56.821] | : . ' , ; ` | : . ..$ r_info :List of 4 [01:56:56.821] | : . ' , ; ` | : . .. ..$ version :Classes 'R_system_version', 'package_version', 'numeric_version' hidden list of 1 [01:56:56.821] | : . ' , ; ` | : . .. .. ..$ : int [1:3] 4 6 0 [01:56:56.821] | : . ' , ; ` | : . .. ..$ os : chr "windows" [01:56:56.821] | : . ' , ; ` | : . .. ..$ os_name : chr "Windows" [01:56:56.821] | : . ' , ; ` | : . .. ..$ captures_utf8: logi TRUE [01:56:56.821] | : . ' , ; ` | : . ..$ version : chr "1.8" [01:56:56.821] | : . ' , ; ` | : . ..- attr(*, "class")= chr "FutureResult" [01:56:56.821] | : . ' , ; ` | : . $ success: logi TRUE [01:56:56.821] | : . ' , ; ` | : . $ time : 'proc_time' Named num [1:5] 0 0 0 NA NA [01:56:56.821] | : . ' , ; ` | : . ..- attr(*, "names")= chr [1:5] "user.self" "sys.self" "elapsed" "user.child" ... [01:56:56.821] | : . ' , ; ` | : . $ tag : NULL [01:56:56.835] | : . ' , ; ` | : . Received FutureResult [01:56:56.835] | : . ' , ; ` | : . FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'remove', earlySignal = 0) ... [01:56:56.835] | : . ' , ; ` | : . ' Removed future from position #1 [01:56:56.836] | : . ' , ; ` | : . ' Number of registered futures: 0 [01:56:56.836] | : . ' , ; ` | : . FutureRegistry('workers-c74c549de7a79b81a04668f5a0c7959e', action = 'remove', earlySignal = 0) ... done [01:56:56.836] | : . ' , ; ` | : . Erased future from future backend [01:56:56.836] | : . ' , ; ` | : . result() for ClusterFuture ... [01:56:56.836] | : . ' , ; ` | : . ' result already collected: FutureResult [01:56:56.836] | : . ' , ; ` | : . result() for ClusterFuture ... done [01:56:56.837] | : . ' , ; ` | : receiveMessageFromWorker() for ClusterFuture ... done [01:56:56.837] | : . ' , ; ` | result() for ClusterFuture ... done [01:56:56.837] | : . ' , ; ` | result() for ClusterFuture ... [01:56:56.837] | : . ' , ; ` | : result already collected: FutureResult [01:56:56.837] | : . ' , ; ` | result() for ClusterFuture ... done [01:56:56.837] | : . ' , ; ` | relay stdout ... [01:56:56.838] | : . ' , ; ` | relay stdout ... done [01:56:56.839] | : . ' , ; ` | check for misuse ... [01:56:56.839] | : . ' , ; ` | check for misuse ... done [01:56:56.839] | : . ' , ; ` value() for MultisessionFuture (NULL) ... done [1] 6 Testing with 2 cores ... DONE > message("*** Global argument '...' ... DONE") *** Global argument '...' ... DONE Sourcing 6 epilogue scripts ... 01/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_epilogue/001.undo-future.R' 02/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_epilogue/002.undo-state.R' Failed to undo environment variables: - Expected environment variables: [n=213] '!ExitCode', 'ALLUSERSPROFILE', 'APPDATA', 'BIBINPUTS', 'BINDIR', 'BSTINPUTS', 'COMMONPROGRAMFILES', 'COMPUTERNAME', 'COMSPEC', 'CURL_CA_BUNDLE', 'CYGWIN', 'CommonProgramFiles(x86)', 'CommonProgramW6432', 'DriverData', 'HOME', 'HOMEDRIVE', 'HOMEPATH', 'JAGS_ROOT', 'JAVA_HOME', 'LANGUAGE', 'LC_COLLATE', 'LC_MONETARY', 'LC_TIME', 'LOCALAPPDATA', 'LOGONSERVER', 'LS_HOME', 'LS_LICENSE_PATH', 'MAKE', 'MAKEFLAGS', 'MAKELEVEL', 'MFLAGS', 'MSMPI_BENCHMARKS', 'MSMPI_BIN', 'MSYS2_ENV_CONV_EXCL', 'NUMBER_OF_PROCESSORS', 'OCL', 'OMP_THREAD_LIMIT', 'OS', 'PATH', 'PATHEXT', 'PROCESSOR_ARCHITECTURE', 'PROCESSOR_IDENTIFIER', 'PROCESSOR_LEVEL', 'PROCESSOR_REVISION', 'PROGRAMFILES', 'PROMPT', 'PSModulePath', 'PUBLIC', 'PWD', 'ProgramData', 'ProgramFiles(x86)', 'ProgramW6432', 'RTOOLS44_HOME', 'RTOOLS45_HOME', 'R_ARCH', 'R_BROWSER', 'R_BZIPCMD', 'R_CMD', 'R_COMPILED_BY', 'R_CRAN_WEB', 'R_CUSTOM_TOOLS_PATH', 'R_CUSTOM_TOOLS_SOFT', 'R_DOC_DIR', 'R_ENVIRON_USER', 'R_GSCMD', 'R_GZIPCMD', 'R_HOME', 'R_INCLUDE_DIR', 'R_INSTALL_TAR', 'R_LIBS', 'R_LIBS_SITE', 'R_LIBS_USER', 'R_MAX_NUM_DLLS', 'R_OSTYPE', 'R_PAPERSIZE', 'R_PAPERSIZE_USER', 'R_PARALLELLY_MAKENODEPSOCK_AUTOKILL', 'R_PARALLELLY_MAKENODEPSOCK_CONNECTTIMEOUT', 'R_PARALLELLY_MAKENODEPSOCK_RSCRIPT_LABEL', 'R_PARALLELLY_MAKENODEPSOCK_SESSIONINFO_PKGS', 'R_PARALLELLY_MAKENODEPSOCK_TIMEOUT', 'R_PARALLELLY_RANDOM_PORTS', 'R_PARALLEL_PORT', 'R_RD4PDF', 'R_RTOOLS45_PATH', 'R_SCRIPT_LEGACY', 'R_SHARE_DIR', 'R_TESTME_NAME', 'R_TESTME_PACKAGE', 'R_TESTME_PATH', 'R_TESTS', 'R_UNZIPCMD', 'R_USER', 'R_VERSION', 'R_ZIPCMD', 'SED', 'SHLVL', 'SYSTEMDRIVE', 'SYSTEMROOT', 'TAR', 'TAR_OPTIONS', 'TEMP', 'TERM', 'TEXINPUTS', 'TMP', 'TMPDIR', 'USERDOMAIN', 'USERDOMAIN_ROAMINGPROFILE', 'USERNAME', 'USERPROFILE', 'WINDIR', '_', '_R_CHECK_AUTOCONF_', '_R_CHECK_BOGUS_RETURN_', '_R_CHECK_BROWSER_NONINTERACTIVE_', '_R_CHECK_BUILD_VIGNETTES_SEPARATELY_', '_R_CHECK_CODETOOLS_PROFILE_', '_R_CHECK_CODE_ASSIGN_TO_GLOBALENV_', '_R_CHECK_CODE_ATTACH_', '_R_CHECK_CODE_CLASS_IS_STRING_', '_R_CHECK_CODE_DATA_INTO_GLOBALENV_', '_R_CHECK_CODE_USAGE_VIA_NAMESPACES_', '_R_CHECK_CODE_USAGE_WITHOUT_LOADING_', '_R_CHECK_CODE_USAGE_WITH_ONLY_BASE_ATTACHED_', '_R_CHECK_CODOC_VARIABLES_IN_USAGES_', '_R_CHECK_COMPACT_DATA2_', '_R_CHECK_COMPILATION_FLAGS_', '_R_CHECK_CONNECTIONS_LEFT_OPEN_', '_R_CHECK_CRAN_INCOMING_', '_R_CHECK_CRAN_INCOMING_ASPELL_RECHECK_MAYBE_', '_R_CHECK_CRAN_INCOMING_ASPELL_RECHECK_START_', '_R_CHECK_CRAN_INCOMING_CHECK_FILE_URIS_', '_R_CHECK_CRAN_INCOMING_CHECK_URLS_IN_PARALLEL_', '_R_CHECK_CRAN_INCOMING_NOTE_GNU_MAKE_', '_R_CHECK_CRAN_INCOMING_REMOTE_', '_R_CHECK_CRAN_INCOMING_USE_ASPELL_', '_R_CHECK_DATALIST_', '_R_CHECK_DEPRECATED_DEFUNCT_', '_R_CHECK_DOC_SIZES2_', '_R_CHECK_DOT_FIRSTLIB_', '_R_CHECK_DOT_INTERNAL_', '_R_CHECK_EXAMPLE_TIMING_THRESHOLD_', '_R_CHECK_EXECUTABLES_', '_R_CHECK_EXECUTABLES_EXCLUSIONS_', '_R_CHECK_FF_CALLS_', '_R_CHECK_FF_DUP_', '_R_CHECK_FORCE_SUGGESTS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_LEEWAY_', '_R_CHECK_HAVE_MYSQL_', '_R_CHECK_HAVE_ODBC_', '_R_CHECK_HAVE_PERL_', '_R_CHECK_HAVE_POSTGRES_', '_R_CHECK_INSTALL_DEPENDS_', '_R_CHECK_INTERNALS2_', '_R_CHECK_LENGTH_1_CONDITION_', '_R_CHECK_LICENSE_', '_R_CHECK_LIMIT_CORES_', '_R_CHECK_LOG_USE_INFO_', '_R_CHECK_MATRIX_DATA_', '_R_CHECK_MBCS_CONVERSION_FAILURE_', '_R_CHECK_NATIVE_ROUTINE_REGISTRATION_', '_R_CHECK_NEWS_IN_PLAIN_TEXT_', '_R_CHECK_NO_RECOMMENDED_', '_R_CHECK_NO_STOP_ON_TEST_ERROR_', '_R_CHECK_ORPHANED_', '_R_CHECK_OVERWRITE_REGISTERED_S3_METHODS_', '_R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_', '_R_CHECK_PACKAGES_USED_IN_TESTS_USE_SUBDIRS_', '_R_CHECK_PACKAGE_DATASETS_SUPPRESS_NOTES_', '_R_CHECK_PACKAGE_NAME_', '_R_CHECK_PKG_SIZES_', '_R_CHECK_PKG_SIZES_THRESHOLD_', '_R_CHECK_PRAGMAS_', '_R_CHECK_RD_EXAMPLES_T_AND_F_', '_R_CHECK_RD_LINE_WIDTHS_', '_R_CHECK_RD_MATH_RENDERING_', '_R_CHECK_RD_NOTE_LOST_BRACES_', '_R_CHECK_RD_VALIDATE_RD2HTML_', '_R_CHECK_REPLACING_IMPORTS_', '_R_CHECK_R_DEPENDS_', '_R_CHECK_S3_METHODS_SHOW_POSSIBLE_ISSUES_', '_R_CHECK_SCREEN_DEVICE_', '_R_CHECK_SERIALIZATION_', '_R_CHECK_SHLIB_OPENMP_FLAGS_', '_R_CHECK_SRC_MINUS_W_IMPLICIT_', '_R_CHECK_SUBDIRS_NOCASE_', '_R_CHECK_SUGGESTS_ONLY_', '_R_CHECK_SYSTEM_CLOCK_', '_R_CHECK_TESTS_NLINES_', '_R_CHECK_TEST_TIMING_', '_R_CHECK_TIMINGS_', '_R_CHECK_TOPLEVEL_FILES_', '_R_CHECK_UNDOC_USE_ALL_NAMES_', '_R_CHECK_UNSAFE_CALLS_', '_R_CHECK_URLS_SHOW_301_STATUS_', '_R_CHECK_VC_DIRS_', '_R_CHECK_VIGNETTES_NLINES_', '_R_CHECK_VIGNETTES_SKIP_RUN_MAYBE_', '_R_CHECK_VIGNETTE_TIMING_', '_R_CHECK_VIGNETTE_TITLES_', '_R_CHECK_WINDOWS_DEVICE_', '_R_CHECK_XREFS_NOTE_MISSING_PACKAGE_ANCHORS_', '_R_CHECK_XREFS_USE_ALIASES_FROM_CRAN_', '_R_CLASS_MATRIX_ARRAY_', '_R_DEPRECATED_IS_R_', '_R_S3_METHOD_LOOKUP_BASEENV_AFTER_GLOBALENV_', '_R_SHLIB_BUILD_OBJECTS_SYMBOL_TABLES_', '_R_USE_STRICT_R_HEADERS_', '__R_CHECK_DOC_FILES_NOTE_IF_ALL_SPECIAL__', 'maj.version', 'nextArg--timingsnextArg--install', 'tempdirname' - Environment variables still there: [n=0] - Environment variables missing: [n=1] 'MAKEFLAGS' Differences environment variable by environment variable: 03/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_epilogue/090.gc.R' 04/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_epilogue/099.session_info.R' 05/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_epilogue/995.detritus-connections.R' 06/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_epilogue/999.detritus-files.R' Skipping, because path appears not to be an 'R CMD check' folder: 'D:/temp/2025_05_09_01_55_17_23336' Sourcing 6 epilogue scripts ... done Test time: user.self=1s, sys.self=0.03s, elapsed=2s, user.child=NAs, sys.child=NAs Test 'dotdotdot' ... success > > proc.time() user system elapsed 1.43 0.07 2.21