R Under development (unstable) (2025-12-08 r89124 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-future_lapply,globals.R > ## Don't edit - it was autogenerated by inst/testme/deploy.R > future.apply:::testme("future_lapply,globals") Test 'future_lapply,globals' ... Sourcing 9 prologue scripts ... 01/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future.apply/testme/_prologue/001.load.R' 02/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future.apply/testme/_prologue/002.record-state.R' 03/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future.apply/testme/_prologue/030.imports.R' 04/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future.apply/testme/_prologue/050.utils.R' 05/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future.apply/testme/_prologue/090.context.R' 06/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future.apply/testme/_prologue/090.options.R' 07/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future.apply/testme/_prologue/091.envvars.R' 08/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future.apply/testme/_prologue/099.future-setup.R' 09/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future.apply/testme/_prologue/995.detrius-connections.R' Sourcing 9 prologue scripts ... done Running test script: 'D:/RCompile/CRANincoming/R-devel/lib/future.apply/testme/test-future_lapply,globals.R' > library(future.apply) Loading required package: future > library(tools) > options(future.debug = FALSE) > options(future.apply.debug = TRUE) > message("*** future_lapply() - globals ...") *** future_lapply() - globals ... > plan(cluster, workers = "localhost") > a <- 1 > b <- 2 > globals_set <- list(A = FALSE, B = TRUE, C = c("a", + "b"), D = list(a = 2, b = 3)) > x <- list(1) > y_truth <- list(A = NULL, B = list(1), C = list(1), + D = list(2)) > str(y_truth) List of 4 $ A: NULL $ B:List of 1 ..$ : num 1 $ C:List of 1 ..$ : num 1 $ D:List of 1 ..$ : num 2 > for (name in names(globals_set)) { + globals <- globals_set[[name]] + message("Globals set ", sQuote(name)) + y <- tryCatch({ + .... [TRUNCATED] Globals set 'A' [07:32:56.997] future_lapply() ... [07:32:57.004] | Globals in FUN(): [n=5] '{', 'median', 'c', 'a', 'b' [07:32:57.005] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:57.006] | future_lapply() -> future_xapply() ... [07:32:57.006] | : Number of chunks: 1 [07:32:57.007] | : getGlobalsAndPackagesXApply() ... [07:32:57.007] | : . future.globals: FALSE [07:32:57.011] | : . globals found/used: [n=2] 'FUN', 'future.call.arguments' [07:32:57.011] | : . needed namespaces: [n=0] [07:32:57.011] | : . use_args: TRUE [07:32:57.012] | : . Getting '...' globals ... [07:32:57.013] | : . ' '...' content: [n=0] [07:32:57.013] | : . ' List of 1 [07:32:57.013] | : . ' $ ...: list() [07:32:57.013] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.013] | : . ' - attr(*, "where")=List of 1 [07:32:57.013] | : . ' ..$ ...: [07:32:57.013] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.013] | : . ' - attr(*, "resolved")= logi TRUE [07:32:57.013] | : . ' - attr(*, "total_size")= num NA [07:32:57.017] | : . Getting '...' globals ... done [07:32:57.018] | : . Globals to be used in all futures (chunks): [n=3] '...future.FUN', 'future.call.arguments', '...' [07:32:57.018] | : . List of 3 [07:32:57.018] | : . $ ...future.FUN :function (x) [07:32:57.018] | : . $ future.call.arguments: list() [07:32:57.018] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.018] | : . $ ... : list() [07:32:57.018] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.018] | : . - attr(*, "where")=List of 3 [07:32:57.018] | : . ..$ ...future.FUN : [07:32:57.018] | : . ..$ future.call.arguments: [07:32:57.018] | : . ..$ ... : [07:32:57.018] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.018] | : . - attr(*, "resolved")= logi FALSE [07:32:57.018] | : . - attr(*, "total_size")= num 5448 [07:32:57.023] | : . Packages to be attached in all futures: [n=1] 'utils' [07:32:57.023] | : getGlobalsAndPackagesXApply() ... done [07:32:57.024] | : Globals pass to each chunk: [n=6] '...future.FUN', 'future.call.arguments', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.024] | : List of 6 [07:32:57.024] | : $ ...future.FUN :function (x) [07:32:57.024] | : $ future.call.arguments : list() [07:32:57.024] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.024] | : $ ... : list() [07:32:57.024] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.024] | : $ ...future.elements_ii : NULL [07:32:57.024] | : $ ...future.seeds_ii : NULL [07:32:57.024] | : $ ...future.globals.maxSize: NULL [07:32:57.024] | : - attr(*, "where")=List of 6 [07:32:57.024] | : ..$ ...future.FUN : [07:32:57.024] | : ..$ future.call.arguments : [07:32:57.024] | : ..$ ... : [07:32:57.024] | : ..$ ...future.elements_ii : [07:32:57.024] | : ..$ ...future.seeds_ii : [07:32:57.024] | : ..$ ...future.globals.maxSize: [07:32:57.024] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.024] | : - attr(*, "resolved")= logi FALSE [07:32:57.024] | : - attr(*, "total_size")= num 5448 [07:32:57.031] | : Number of futures (= number of chunks): 1 [07:32:57.031] | : Launching 1 futures (chunks) ... [07:32:57.032] | : Chunk #1 of 1 ... [07:32:57.032] | : - seeds: [07:32:57.032] | : - All globals exported: [n=6] '...future.FUN', 'future.call.arguments', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.037] | : Created future: [07:32:57.037] | : ClusterFuture: [07:32:57.037] | : Label: 'future_lapply-1' [07:32:57.037] | : Expression: [07:32:57.037] | : { [07:32:57.037] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:57.037] | : "# expression in do.call(), because function called uses '...' " [07:32:57.037] | : "# as a global variable " [07:32:57.037] | : do.call(function(...) { [07:32:57.037] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:57.037] | : "# without having an '...' argument. This means '...' is treated" [07:32:57.037] | : "# as a global variable. This may happen when FUN() is an " [07:32:57.037] | : "# anonymous function. " [07:32:57.037] | : "# " [07:32:57.037] | : "# If an anonymous function, we will make sure to restore the " [07:32:57.037] | : "# function environment of FUN() to the calling environment. " [07:32:57.037] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:57.037] | : "# global environment, which is where globals are written. " [07:32:57.037] | : penv <- env <- environment(...future.FUN) [07:32:57.037] | : repeat { [07:32:57.037] | : if (identical(env, globalenv()) || identical(env, [07:32:57.037] | : emptyenv())) [07:32:57.037] | : break [07:32:57.037] | : penv <- env [07:32:57.037] | : env <- parent.env(env) [07:32:57.037] | : } [07:32:57.037] | : if (identical(penv, globalenv())) { [07:32:57.037] | : environment(...future.FUN) <- environment() [07:32:57.037] | : } [07:32:57.037] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:57.037] | : !isNamespace(penv)) { [07:32:57.037] | : parent.env(penv) <- environment() [07:32:57.037] | : } [07:32:57.037] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:57.037] | : { [07:32:57.037] | : "# future.apply:::future_xapply(): preserve future option" [07:32:57.037] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:57.037] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:57.037] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:57.037] | : on.exit(options(oopts), add = TRUE) [07:32:57.037] | : } [07:32:57.037] | : { [07:32:57.037] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:57.037] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:57.037] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:57.037] | : { [07:32:57.037] | : ...future.FUN(...future.X_jj, ...) [07:32:57.037] | : } [07:32:57.037] | : }) [07:32:57.037] | : } [07:32:57.037] | : } [07:32:57.037] | : }, args = future.call.arguments) [07:32:57.037] | : } [07:32:57.037] | : Globals: 5 objects totaling 5.48 KiB (function '...future.FUN' of 683 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, list '...future.elements_ii' of 47 bytes, NULL '...future.seeds_ii' of 27 bytes, NULL '...future.globals.maxSize' of 27 bytes) [07:32:57.037] | : Packages: 1 packages ('utils') [07:32:57.037] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:57.037] | : Capture standard output: TRUE [07:32:57.037] | : Capture condition classes: 'condition' (excluding '') [07:32:57.037] | : Immediate condition classes: 'immediateCondition' [07:32:57.037] | : Lazy evaluation: FALSE [07:32:57.037] | : Local evaluation: TRUE [07:32:57.037] | : Asynchronous evaluation: TRUE [07:32:57.037] | : Early signaling: FALSE [07:32:57.037] | : Environment: R_GlobalEnv [07:32:57.037] | : State: 'running' [07:32:57.037] | : Resolved: TRUE [07:32:57.037] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-1 [07:32:57.037] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.037] | : Class: 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:57.037] | : Value: [07:32:57.037] | : Conditions captured: [07:32:57.114] | : Chunk #1 of 1 ... DONE [07:32:57.114] | : Launching 1 futures (chunks) ... DONE [07:32:57.114] | : Resolving 1 futures (chunks) ... [07:32:57.117] | : onError() ... [07:32:57.117] | : . Received Warning: Caught simpleError. Canceling all iterations ... [07:32:57.118] | : . Signaling: [07:32:57.118] | : onError() ... done [07:32:57.118] | future_lapply() -> future_xapply() ... done [07:32:57.118] future_lapply() ... done Globals set 'B' [07:32:57.119] future_lapply() ... [07:32:57.120] | Globals in FUN(): [n=5] '{', 'median', 'c', 'a', 'b' [07:32:57.120] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:57.121] | future_lapply() -> future_xapply() ... [07:32:57.121] | : Number of chunks: 1 [07:32:57.121] | : getGlobalsAndPackagesXApply() ... [07:32:57.121] | : . future.globals: TRUE [07:32:57.138] | : . globals found/used: [n=3] 'FUN', 'a', 'b' [07:32:57.138] | : . needed namespaces: [n=1] 'stats' [07:32:57.138] | : . use_args: TRUE [07:32:57.139] | : . Getting '...' globals ... [07:32:57.139] | : . ' '...' content: [n=0] [07:32:57.139] | : . ' List of 1 [07:32:57.139] | : . ' $ ...: list() [07:32:57.139] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.139] | : . ' - attr(*, "where")=List of 1 [07:32:57.139] | : . ' ..$ ...: [07:32:57.139] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.139] | : . ' - attr(*, "resolved")= logi TRUE [07:32:57.139] | : . ' - attr(*, "total_size")= num NA [07:32:57.142] | : . Getting '...' globals ... done [07:32:57.143] | : . Globals to be used in all futures (chunks): [n=4] '...future.FUN', 'a', 'b', '...' [07:32:57.143] | : . List of 4 [07:32:57.143] | : . $ ...future.FUN:function (x) [07:32:57.143] | : . $ a : num 1 [07:32:57.143] | : . $ b : num 2 [07:32:57.143] | : . $ ... : list() [07:32:57.143] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.143] | : . - attr(*, "where")=List of 4 [07:32:57.143] | : . ..$ ...future.FUN: [07:32:57.143] | : . ..$ a : [07:32:57.143] | : . ..$ b : [07:32:57.143] | : . ..$ ... : [07:32:57.143] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.143] | : . - attr(*, "resolved")= logi FALSE [07:32:57.143] | : . - attr(*, "total_size")= num 5429 [07:32:57.148] | : . Packages to be attached in all futures: [n=2] 'stats', 'utils' [07:32:57.148] | : getGlobalsAndPackagesXApply() ... done [07:32:57.148] | : Globals pass to each chunk: [n=7] '...future.FUN', 'a', 'b', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.148] | : List of 7 [07:32:57.148] | : $ ...future.FUN :function (x) [07:32:57.148] | : $ a : num 1 [07:32:57.148] | : $ b : num 2 [07:32:57.148] | : $ ... : list() [07:32:57.148] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.148] | : $ ...future.elements_ii : NULL [07:32:57.148] | : $ ...future.seeds_ii : NULL [07:32:57.148] | : $ ...future.globals.maxSize: NULL [07:32:57.148] | : - attr(*, "where")=List of 7 [07:32:57.148] | : ..$ ...future.FUN : [07:32:57.148] | : ..$ a : [07:32:57.148] | : ..$ b : [07:32:57.148] | : ..$ ... : [07:32:57.148] | : ..$ ...future.elements_ii : [07:32:57.148] | : ..$ ...future.seeds_ii : [07:32:57.148] | : ..$ ...future.globals.maxSize: [07:32:57.148] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.148] | : - attr(*, "resolved")= logi FALSE [07:32:57.148] | : - attr(*, "total_size")= num 5429 [07:32:57.155] | : Number of futures (= number of chunks): 1 [07:32:57.155] | : Launching 1 futures (chunks) ... [07:32:57.155] | : Chunk #1 of 1 ... [07:32:57.155] | : - Finding globals in 'X' for chunk #1 ... [07:32:57.156] | : + additional globals found: [n=0] [07:32:57.156] | : + additional namespaces needed: [n=0] [07:32:57.156] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:57.156] | : - seeds: [07:32:57.157] | : - All globals exported: [n=7] '...future.FUN', 'a', 'b', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.159] | : Created future: [07:32:57.159] | : ClusterFuture: [07:32:57.159] | : Label: 'future_lapply-1' [07:32:57.159] | : Expression: [07:32:57.159] | : { [07:32:57.159] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:57.159] | : "# expression in do.call(), because function called uses '...' " [07:32:57.159] | : "# as a global variable " [07:32:57.159] | : do.call(function(...) { [07:32:57.159] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:57.159] | : "# without having an '...' argument. This means '...' is treated" [07:32:57.159] | : "# as a global variable. This may happen when FUN() is an " [07:32:57.159] | : "# anonymous function. " [07:32:57.159] | : "# " [07:32:57.159] | : "# If an anonymous function, we will make sure to restore the " [07:32:57.159] | : "# function environment of FUN() to the calling environment. " [07:32:57.159] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:57.159] | : "# global environment, which is where globals are written. " [07:32:57.159] | : penv <- env <- environment(...future.FUN) [07:32:57.159] | : repeat { [07:32:57.159] | : if (identical(env, globalenv()) || identical(env, [07:32:57.159] | : emptyenv())) [07:32:57.159] | : break [07:32:57.159] | : penv <- env [07:32:57.159] | : env <- parent.env(env) [07:32:57.159] | : } [07:32:57.159] | : if (identical(penv, globalenv())) { [07:32:57.159] | : environment(...future.FUN) <- environment() [07:32:57.159] | : } [07:32:57.159] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:57.159] | : !isNamespace(penv)) { [07:32:57.159] | : parent.env(penv) <- environment() [07:32:57.159] | : } [07:32:57.159] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:57.159] | : { [07:32:57.159] | : "# future.apply:::future_xapply(): preserve future option" [07:32:57.159] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:57.159] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:57.159] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:57.159] | : on.exit(options(oopts), add = TRUE) [07:32:57.159] | : } [07:32:57.159] | : { [07:32:57.159] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:57.159] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:57.159] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:57.159] | : { [07:32:57.159] | : ...future.FUN(...future.X_jj, ...) [07:32:57.159] | : } [07:32:57.159] | : }) [07:32:57.159] | : } [07:32:57.159] | : } [07:32:57.159] | : }, args = future.call.arguments) [07:32:57.159] | : } [07:32:57.159] | : Globals: 7 objects totaling 5.55 KiB (function '...future.FUN' of 683 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, list '...future.elements_ii' of 47 bytes, numeric 'a' of 39 bytes, numeric 'b' of 39 bytes, ...) [07:32:57.159] | : Packages: 2 packages ('stats', 'utils') [07:32:57.159] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:57.159] | : Capture standard output: TRUE [07:32:57.159] | : Capture condition classes: 'condition' (excluding '') [07:32:57.159] | : Immediate condition classes: 'immediateCondition' [07:32:57.159] | : Lazy evaluation: FALSE [07:32:57.159] | : Local evaluation: TRUE [07:32:57.159] | : Asynchronous evaluation: TRUE [07:32:57.159] | : Early signaling: FALSE [07:32:57.159] | : Environment: R_GlobalEnv [07:32:57.159] | : State: 'running' [07:32:57.159] | : Resolved: TRUE [07:32:57.159] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-2 [07:32:57.159] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.159] | : Class: 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:57.159] | : Value: [07:32:57.159] | : Conditions captured: [07:32:57.164] | : Chunk #1 of 1 ... DONE [07:32:57.164] | : Launching 1 futures (chunks) ... DONE [07:32:57.164] | : Resolving 1 futures (chunks) ... [07:32:57.165] | : - Number of value chunks collected: 1 [07:32:57.165] | : Resolving 1 futures (chunks) ... DONE [07:32:57.165] | : Reducing values from 1 chunks ... [07:32:57.166] | : - Number of values collected after concatenation: 1 [07:32:57.166] | : - Number of values expected: 1 [07:32:57.166] | : Reducing values from 1 chunks ... DONE [07:32:57.166] | future_lapply() -> future_xapply() ... done [07:32:57.166] future_lapply() ... done [[1]] [1] 1 Globals set 'C' [07:32:57.167] future_lapply() ... [07:32:57.168] | Globals in FUN(): [n=5] '{', 'median', 'c', 'a', 'b' [07:32:57.168] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:57.168] | future_lapply() -> future_xapply() ... [07:32:57.168] | : Number of chunks: 1 [07:32:57.169] | : getGlobalsAndPackagesXApply() ... [07:32:57.169] | : . future.globals: 'a', 'b' [07:32:57.169] | : . use_args: TRUE [07:32:57.169] | : . Globals to be used in all futures (chunks): [n=4] 'a', 'b', '...future.FUN', '...' [07:32:57.169] | : . List of 4 [07:32:57.169] | : . $ a : num 1 [07:32:57.169] | : . $ b : num 2 [07:32:57.169] | : . $ ...future.FUN:function (x) [07:32:57.169] | : . $ ... : list() [07:32:57.169] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.169] | : . - attr(*, "where")=List of 4 [07:32:57.169] | : . ..$ a : [07:32:57.169] | : . ..$ b : [07:32:57.169] | : . ..$ ...future.FUN: [07:32:57.169] | : . ..$ ... : [07:32:57.169] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.169] | : . - attr(*, "resolved")= logi FALSE [07:32:57.169] | : . - attr(*, "total_size")= num NA [07:32:57.174] | : . Packages to be attached in all futures: [n=1] 'utils' [07:32:57.175] | : getGlobalsAndPackagesXApply() ... done [07:32:57.175] | : Globals pass to each chunk: [n=7] 'a', 'b', '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.175] | : List of 7 [07:32:57.175] | : $ a : num 1 [07:32:57.175] | : $ b : num 2 [07:32:57.175] | : $ ...future.FUN :function (x) [07:32:57.175] | : $ ... : list() [07:32:57.175] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.175] | : $ ...future.elements_ii : NULL [07:32:57.175] | : $ ...future.seeds_ii : NULL [07:32:57.175] | : $ ...future.globals.maxSize: NULL [07:32:57.175] | : - attr(*, "where")=List of 7 [07:32:57.175] | : ..$ a : [07:32:57.175] | : ..$ b : [07:32:57.175] | : ..$ ...future.FUN : [07:32:57.175] | : ..$ ... : [07:32:57.175] | : ..$ ...future.elements_ii : [07:32:57.175] | : ..$ ...future.seeds_ii : [07:32:57.175] | : ..$ ...future.globals.maxSize: [07:32:57.175] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.175] | : - attr(*, "resolved")= logi FALSE [07:32:57.175] | : - attr(*, "total_size")= num NA [07:32:57.182] | : Number of futures (= number of chunks): 1 [07:32:57.182] | : Launching 1 futures (chunks) ... [07:32:57.182] | : Chunk #1 of 1 ... [07:32:57.182] | : - seeds: [07:32:57.182] | : - All globals exported: [n=7] 'a', 'b', '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.184] | : Created future: [07:32:57.185] | : ClusterFuture: [07:32:57.185] | : Label: 'future_lapply-1' [07:32:57.185] | : Expression: [07:32:57.185] | : { [07:32:57.185] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:57.185] | : "# expression in do.call(), because function called uses '...' " [07:32:57.185] | : "# as a global variable " [07:32:57.185] | : do.call(function(...) { [07:32:57.185] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:57.185] | : "# without having an '...' argument. This means '...' is treated" [07:32:57.185] | : "# as a global variable. This may happen when FUN() is an " [07:32:57.185] | : "# anonymous function. " [07:32:57.185] | : "# " [07:32:57.185] | : "# If an anonymous function, we will make sure to restore the " [07:32:57.185] | : "# function environment of FUN() to the calling environment. " [07:32:57.185] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:57.185] | : "# global environment, which is where globals are written. " [07:32:57.185] | : penv <- env <- environment(...future.FUN) [07:32:57.185] | : repeat { [07:32:57.185] | : if (identical(env, globalenv()) || identical(env, [07:32:57.185] | : emptyenv())) [07:32:57.185] | : break [07:32:57.185] | : penv <- env [07:32:57.185] | : env <- parent.env(env) [07:32:57.185] | : } [07:32:57.185] | : if (identical(penv, globalenv())) { [07:32:57.185] | : environment(...future.FUN) <- environment() [07:32:57.185] | : } [07:32:57.185] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:57.185] | : !isNamespace(penv)) { [07:32:57.185] | : parent.env(penv) <- environment() [07:32:57.185] | : } [07:32:57.185] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:57.185] | : { [07:32:57.185] | : "# future.apply:::future_xapply(): preserve future option" [07:32:57.185] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:57.185] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:57.185] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:57.185] | : on.exit(options(oopts), add = TRUE) [07:32:57.185] | : } [07:32:57.185] | : { [07:32:57.185] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:57.185] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:57.185] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:57.185] | : { [07:32:57.185] | : ...future.FUN(...future.X_jj, ...) [07:32:57.185] | : } [07:32:57.185] | : }) [07:32:57.185] | : } [07:32:57.185] | : } [07:32:57.185] | : }, args = future.call.arguments) [07:32:57.185] | : } [07:32:57.185] | : Globals: 7 objects totaling 5.57 KiB (function '...future.FUN' of 683 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, list '...future.elements_ii' of 47 bytes, numeric 'a' of 39 bytes, numeric 'b' of 39 bytes, ...) [07:32:57.185] | : Packages: 1 packages ('utils') [07:32:57.185] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:57.185] | : Capture standard output: TRUE [07:32:57.185] | : Capture condition classes: 'condition' (excluding '') [07:32:57.185] | : Immediate condition classes: 'immediateCondition' [07:32:57.185] | : Lazy evaluation: FALSE [07:32:57.185] | : Local evaluation: TRUE [07:32:57.185] | : Asynchronous evaluation: TRUE [07:32:57.185] | : Early signaling: FALSE [07:32:57.185] | : Environment: R_GlobalEnv [07:32:57.185] | : State: 'running' [07:32:57.185] | : Resolved: TRUE [07:32:57.185] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-3 [07:32:57.185] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.185] | : Class: 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:57.185] | : Value: [07:32:57.185] | : Conditions captured: [07:32:57.189] | : Chunk #1 of 1 ... DONE [07:32:57.189] | : Launching 1 futures (chunks) ... DONE [07:32:57.189] | : Resolving 1 futures (chunks) ... [07:32:57.190] | : - Number of value chunks collected: 1 [07:32:57.190] | : Resolving 1 futures (chunks) ... DONE [07:32:57.190] | : Reducing values from 1 chunks ... [07:32:57.191] | : - Number of values collected after concatenation: 1 [07:32:57.191] | : - Number of values expected: 1 [07:32:57.191] | : Reducing values from 1 chunks ... DONE [07:32:57.191] | future_lapply() -> future_xapply() ... done [07:32:57.191] future_lapply() ... done [[1]] [1] 1 Globals set 'D' [07:32:57.191] future_lapply() ... [07:32:57.192] | Globals in FUN(): [n=5] '{', 'median', 'c', 'a', 'b' [07:32:57.193] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:57.193] | future_lapply() -> future_xapply() ... [07:32:57.193] | : Number of chunks: 1 [07:32:57.193] | : getGlobalsAndPackagesXApply() ... [07:32:57.193] | : . future.globals: with names 'a', 'b' [07:32:57.194] | : . use_args: TRUE [07:32:57.194] | : . Getting '...' globals ... [07:32:57.194] | : . ' '...' content: [n=0] [07:32:57.195] | : . ' List of 1 [07:32:57.195] | : . ' $ ...: list() [07:32:57.195] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.195] | : . ' - attr(*, "where")=List of 1 [07:32:57.195] | : . ' ..$ ...: [07:32:57.195] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.195] | : . ' - attr(*, "resolved")= logi TRUE [07:32:57.195] | : . ' - attr(*, "total_size")= num NA [07:32:57.198] | : . Getting '...' globals ... done [07:32:57.198] | : . Globals to be used in all futures (chunks): [n=4] 'a', 'b', '...future.FUN', '...' [07:32:57.198] | : . List of 4 [07:32:57.198] | : . $ a : num 2 [07:32:57.198] | : . $ b : num 3 [07:32:57.198] | : . $ ...future.FUN:function (x) [07:32:57.198] | : . $ ... : list() [07:32:57.198] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.198] | : . - attr(*, "where")=List of 4 [07:32:57.198] | : . ..$ a : [07:32:57.198] | : . ..$ b : [07:32:57.198] | : . ..$ ...future.FUN: [07:32:57.198] | : . ..$ ... : [07:32:57.198] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.198] | : . - attr(*, "resolved")= logi FALSE [07:32:57.198] | : . - attr(*, "total_size")= num NA [07:32:57.203] | : . Packages to be attached in all futures: [n=1] 'utils' [07:32:57.203] | : getGlobalsAndPackagesXApply() ... done [07:32:57.203] | : Globals pass to each chunk: [n=7] 'a', 'b', '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.203] | : List of 7 [07:32:57.203] | : $ a : num 2 [07:32:57.203] | : $ b : num 3 [07:32:57.203] | : $ ...future.FUN :function (x) [07:32:57.203] | : $ ... : list() [07:32:57.203] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.203] | : $ ...future.elements_ii : NULL [07:32:57.203] | : $ ...future.seeds_ii : NULL [07:32:57.203] | : $ ...future.globals.maxSize: NULL [07:32:57.203] | : - attr(*, "where")=List of 7 [07:32:57.203] | : ..$ a : [07:32:57.203] | : ..$ b : [07:32:57.203] | : ..$ ...future.FUN : [07:32:57.203] | : ..$ ... : [07:32:57.203] | : ..$ ...future.elements_ii : [07:32:57.203] | : ..$ ...future.seeds_ii : [07:32:57.203] | : ..$ ...future.globals.maxSize: [07:32:57.203] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.203] | : - attr(*, "resolved")= logi FALSE [07:32:57.203] | : - attr(*, "total_size")= num NA [07:32:57.212] | : Number of futures (= number of chunks): 1 [07:32:57.212] | : Launching 1 futures (chunks) ... [07:32:57.212] | : Chunk #1 of 1 ... [07:32:57.212] | : - seeds: [07:32:57.212] | : - All globals exported: [n=7] 'a', 'b', '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.214] | : Created future: [07:32:57.214] | : ClusterFuture: [07:32:57.214] | : Label: 'future_lapply-1' [07:32:57.214] | : Expression: [07:32:57.214] | : { [07:32:57.214] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:57.214] | : "# expression in do.call(), because function called uses '...' " [07:32:57.214] | : "# as a global variable " [07:32:57.214] | : do.call(function(...) { [07:32:57.214] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:57.214] | : "# without having an '...' argument. This means '...' is treated" [07:32:57.214] | : "# as a global variable. This may happen when FUN() is an " [07:32:57.214] | : "# anonymous function. " [07:32:57.214] | : "# " [07:32:57.214] | : "# If an anonymous function, we will make sure to restore the " [07:32:57.214] | : "# function environment of FUN() to the calling environment. " [07:32:57.214] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:57.214] | : "# global environment, which is where globals are written. " [07:32:57.214] | : penv <- env <- environment(...future.FUN) [07:32:57.214] | : repeat { [07:32:57.214] | : if (identical(env, globalenv()) || identical(env, [07:32:57.214] | : emptyenv())) [07:32:57.214] | : break [07:32:57.214] | : penv <- env [07:32:57.214] | : env <- parent.env(env) [07:32:57.214] | : } [07:32:57.214] | : if (identical(penv, globalenv())) { [07:32:57.214] | : environment(...future.FUN) <- environment() [07:32:57.214] | : } [07:32:57.214] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:57.214] | : !isNamespace(penv)) { [07:32:57.214] | : parent.env(penv) <- environment() [07:32:57.214] | : } [07:32:57.214] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:57.214] | : { [07:32:57.214] | : "# future.apply:::future_xapply(): preserve future option" [07:32:57.214] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:57.214] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:57.214] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:57.214] | : on.exit(options(oopts), add = TRUE) [07:32:57.214] | : } [07:32:57.214] | : { [07:32:57.214] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:57.214] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:57.214] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:57.214] | : { [07:32:57.214] | : ...future.FUN(...future.X_jj, ...) [07:32:57.214] | : } [07:32:57.214] | : }) [07:32:57.214] | : } [07:32:57.214] | : } [07:32:57.214] | : }, args = future.call.arguments) [07:32:57.214] | : } [07:32:57.214] | : Globals: 7 objects totaling 5.62 KiB (function '...future.FUN' of 683 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, list '...future.elements_ii' of 47 bytes, numeric 'a' of 39 bytes, numeric 'b' of 39 bytes, ...) [07:32:57.214] | : Packages: 1 packages ('utils') [07:32:57.214] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:57.214] | : Capture standard output: TRUE [07:32:57.214] | : Capture condition classes: 'condition' (excluding '') [07:32:57.214] | : Immediate condition classes: 'immediateCondition' [07:32:57.214] | : Lazy evaluation: FALSE [07:32:57.214] | : Local evaluation: TRUE [07:32:57.214] | : Asynchronous evaluation: TRUE [07:32:57.214] | : Early signaling: FALSE [07:32:57.214] | : Environment: R_GlobalEnv [07:32:57.214] | : State: 'running' [07:32:57.214] | : Resolved: TRUE [07:32:57.214] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-4 [07:32:57.214] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.214] | : Class: 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:57.214] | : Value: [07:32:57.214] | : Conditions captured: [07:32:57.219] | : Chunk #1 of 1 ... DONE [07:32:57.219] | : Launching 1 futures (chunks) ... DONE [07:32:57.219] | : Resolving 1 futures (chunks) ... [07:32:57.220] | : - Number of value chunks collected: 1 [07:32:57.220] | : Resolving 1 futures (chunks) ... DONE [07:32:57.220] | : Reducing values from 1 chunks ... [07:32:57.220] | : - Number of values collected after concatenation: 1 [07:32:57.221] | : - Number of values expected: 1 [07:32:57.221] | : Reducing values from 1 chunks ... DONE [07:32:57.221] | future_lapply() -> future_xapply() ... done [07:32:57.221] future_lapply() ... done [[1]] [1] 2 > message("*** future_lapply() - globals ... DONE") *** future_lapply() - globals ... DONE > message("*** future_lapply() - manual globals ...") *** future_lapply() - manual globals ... > d <- 42 > y <- future_lapply(1:2, FUN = function(x) { + x * d + }, future.globals = structure(FALSE, add = "d")) [07:32:57.222] future_lapply() ... [07:32:57.223] | Globals in FUN(): [n=3] '{', '*', 'd' [07:32:57.223] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:57.223] | future_lapply() -> future_xapply() ... [07:32:57.223] | : Number of chunks: 1 [07:32:57.223] | : getGlobalsAndPackagesXApply() ... [07:32:57.224] | : . future.globals: FALSE [07:32:57.225] | : . globals found/used: [n=3] 'd', 'FUN', 'future.call.arguments' [07:32:57.225] | : . needed namespaces: [n=0] [07:32:57.225] | : . use_args: TRUE [07:32:57.225] | : . Getting '...' globals ... [07:32:57.226] | : . ' '...' content: [n=0] [07:32:57.226] | : . ' List of 1 [07:32:57.226] | : . ' $ ...: list() [07:32:57.226] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.226] | : . ' - attr(*, "where")=List of 1 [07:32:57.226] | : . ' ..$ ...: [07:32:57.226] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.226] | : . ' - attr(*, "resolved")= logi TRUE [07:32:57.226] | : . ' - attr(*, "total_size")= num NA [07:32:57.229] | : . Getting '...' globals ... done [07:32:57.229] | : . Globals to be used in all futures (chunks): [n=4] 'd', '...future.FUN', 'future.call.arguments', '...' [07:32:57.229] | : . List of 4 [07:32:57.229] | : . $ d : num 42 [07:32:57.229] | : . $ ...future.FUN :function (x) [07:32:57.229] | : . $ future.call.arguments: list() [07:32:57.229] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.229] | : . $ ... : list() [07:32:57.229] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.229] | : . - attr(*, "where")=List of 4 [07:32:57.229] | : . ..$ d : [07:32:57.229] | : . ..$ ...future.FUN : [07:32:57.229] | : . ..$ future.call.arguments: [07:32:57.229] | : . ..$ ... : [07:32:57.229] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.229] | : . - attr(*, "resolved")= logi FALSE [07:32:57.229] | : . - attr(*, "total_size")= num 3723 [07:32:57.234] | : . Packages to be attached in all futures: [n=0] [07:32:57.234] | : getGlobalsAndPackagesXApply() ... done [07:32:57.235] | : Globals pass to each chunk: [n=7] 'd', '...future.FUN', 'future.call.arguments', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.235] | : List of 7 [07:32:57.235] | : $ d : num 42 [07:32:57.235] | : $ ...future.FUN :function (x) [07:32:57.235] | : $ future.call.arguments : list() [07:32:57.235] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.235] | : $ ... : list() [07:32:57.235] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.235] | : $ ...future.elements_ii : NULL [07:32:57.235] | : $ ...future.seeds_ii : NULL [07:32:57.235] | : $ ...future.globals.maxSize: NULL [07:32:57.235] | : - attr(*, "where")=List of 7 [07:32:57.235] | : ..$ d : [07:32:57.235] | : ..$ ...future.FUN : [07:32:57.235] | : ..$ future.call.arguments : [07:32:57.235] | : ..$ ... : [07:32:57.235] | : ..$ ...future.elements_ii : [07:32:57.235] | : ..$ ...future.seeds_ii : [07:32:57.235] | : ..$ ...future.globals.maxSize: [07:32:57.235] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.235] | : - attr(*, "resolved")= logi FALSE [07:32:57.235] | : - attr(*, "total_size")= num 3723 [07:32:57.241] | : Number of futures (= number of chunks): 1 [07:32:57.242] | : Launching 1 futures (chunks) ... [07:32:57.242] | : Chunk #1 of 1 ... [07:32:57.242] | : - seeds: [07:32:57.242] | : - All globals exported: [n=7] 'd', '...future.FUN', 'future.call.arguments', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.244] | : Created future: [07:32:57.244] | : ClusterFuture: [07:32:57.244] | : Label: 'future_lapply-1' [07:32:57.244] | : Expression: [07:32:57.244] | : { [07:32:57.244] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:57.244] | : "# expression in do.call(), because function called uses '...' " [07:32:57.244] | : "# as a global variable " [07:32:57.244] | : do.call(function(...) { [07:32:57.244] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:57.244] | : "# without having an '...' argument. This means '...' is treated" [07:32:57.244] | : "# as a global variable. This may happen when FUN() is an " [07:32:57.244] | : "# anonymous function. " [07:32:57.244] | : "# " [07:32:57.244] | : "# If an anonymous function, we will make sure to restore the " [07:32:57.244] | : "# function environment of FUN() to the calling environment. " [07:32:57.244] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:57.244] | : "# global environment, which is where globals are written. " [07:32:57.244] | : penv <- env <- environment(...future.FUN) [07:32:57.244] | : repeat { [07:32:57.244] | : if (identical(env, globalenv()) || identical(env, [07:32:57.244] | : emptyenv())) [07:32:57.244] | : break [07:32:57.244] | : penv <- env [07:32:57.244] | : env <- parent.env(env) [07:32:57.244] | : } [07:32:57.244] | : if (identical(penv, globalenv())) { [07:32:57.244] | : environment(...future.FUN) <- environment() [07:32:57.244] | : } [07:32:57.244] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:57.244] | : !isNamespace(penv)) { [07:32:57.244] | : parent.env(penv) <- environment() [07:32:57.244] | : } [07:32:57.244] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:57.244] | : { [07:32:57.244] | : "# future.apply:::future_xapply(): preserve future option" [07:32:57.244] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:57.244] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:57.244] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:57.244] | : on.exit(options(oopts), add = TRUE) [07:32:57.244] | : } [07:32:57.244] | : { [07:32:57.244] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:57.244] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:57.244] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:57.244] | : { [07:32:57.244] | : ...future.FUN(...future.X_jj, ...) [07:32:57.244] | : } [07:32:57.244] | : }) [07:32:57.244] | : } [07:32:57.244] | : } [07:32:57.244] | : }, args = future.call.arguments) [07:32:57.244] | : } [07:32:57.244] | : Globals: 6 objects totaling 3.83 KiB (function '...future.FUN' of 127 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, list '...future.elements_ii' of 55 bytes, numeric 'd' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes, ...) [07:32:57.244] | : Packages: [07:32:57.244] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:57.244] | : Capture standard output: TRUE [07:32:57.244] | : Capture condition classes: 'condition' (excluding '') [07:32:57.244] | : Immediate condition classes: 'immediateCondition' [07:32:57.244] | : Lazy evaluation: FALSE [07:32:57.244] | : Local evaluation: TRUE [07:32:57.244] | : Asynchronous evaluation: TRUE [07:32:57.244] | : Early signaling: FALSE [07:32:57.244] | : Environment: R_GlobalEnv [07:32:57.244] | : State: 'running' [07:32:57.244] | : Resolved: TRUE [07:32:57.244] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-5 [07:32:57.244] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.244] | : Class: 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:57.244] | : Value: [07:32:57.244] | : Conditions captured: [07:32:57.251] | : Chunk #1 of 1 ... DONE [07:32:57.251] | : Launching 1 futures (chunks) ... DONE [07:32:57.251] | : Resolving 1 futures (chunks) ... [07:32:57.252] | : - Number of value chunks collected: 1 [07:32:57.252] | : Resolving 1 futures (chunks) ... DONE [07:32:57.252] | : Reducing values from 1 chunks ... [07:32:57.252] | : - Number of values collected after concatenation: 2 [07:32:57.252] | : - Number of values expected: 2 [07:32:57.253] | : Reducing values from 1 chunks ... DONE [07:32:57.253] | future_lapply() -> future_xapply() ... done [07:32:57.253] future_lapply() ... done > stopifnot(identical(y, list(42, 84))) > e <- 42 > res <- tryCatch({ + future_lapply(1:2, FUN = function(x) { + 2 * e + }, future.globals = structure(TRUE, ignore = "e")) + }, error = .... [TRUNCATED] [07:32:57.253] future_lapply() ... [07:32:57.254] | Globals in FUN(): [n=3] '{', '*', 'e' [07:32:57.254] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:57.255] | future_lapply() -> future_xapply() ... [07:32:57.255] | : Number of chunks: 1 [07:32:57.255] | : getGlobalsAndPackagesXApply() ... [07:32:57.255] | : . future.globals: TRUE [07:32:57.262] | : . globals found/used: [n=1] 'FUN' [07:32:57.262] | : . needed namespaces: [n=0] [07:32:57.263] | : . use_args: TRUE [07:32:57.263] | : . Getting '...' globals ... [07:32:57.263] | : . ' '...' content: [n=0] [07:32:57.264] | : . ' List of 1 [07:32:57.264] | : . ' $ ...: list() [07:32:57.264] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.264] | : . ' - attr(*, "where")=List of 1 [07:32:57.264] | : . ' ..$ ...: [07:32:57.264] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.264] | : . ' - attr(*, "resolved")= logi TRUE [07:32:57.264] | : . ' - attr(*, "total_size")= num NA [07:32:57.266] | : . Getting '...' globals ... done [07:32:57.267] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:57.267] | : . List of 2 [07:32:57.267] | : . $ ...future.FUN:function (x) [07:32:57.267] | : . $ ... : list() [07:32:57.267] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.267] | : . - attr(*, "where")=List of 2 [07:32:57.267] | : . ..$ ...future.FUN: [07:32:57.267] | : . ..$ ... : [07:32:57.267] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.267] | : . - attr(*, "resolved")= logi FALSE [07:32:57.267] | : . - attr(*, "total_size")= num 3614 [07:32:57.270] | : . Packages to be attached in all futures: [n=0] [07:32:57.270] | : getGlobalsAndPackagesXApply() ... done [07:32:57.271] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.271] | : List of 5 [07:32:57.271] | : $ ...future.FUN :function (x) [07:32:57.271] | : $ ... : list() [07:32:57.271] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.271] | : $ ...future.elements_ii : NULL [07:32:57.271] | : $ ...future.seeds_ii : NULL [07:32:57.271] | : $ ...future.globals.maxSize: NULL [07:32:57.271] | : - attr(*, "where")=List of 5 [07:32:57.271] | : ..$ ...future.FUN : [07:32:57.271] | : ..$ ... : [07:32:57.271] | : ..$ ...future.elements_ii : [07:32:57.271] | : ..$ ...future.seeds_ii : [07:32:57.271] | : ..$ ...future.globals.maxSize: [07:32:57.271] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.271] | : - attr(*, "resolved")= logi FALSE [07:32:57.271] | : - attr(*, "total_size")= num 3614 [07:32:57.276] | : Number of futures (= number of chunks): 1 [07:32:57.276] | : Launching 1 futures (chunks) ... [07:32:57.276] | : Chunk #1 of 1 ... [07:32:57.276] | : - Finding globals in 'X' for chunk #1 ... [07:32:57.277] | : + additional globals found: [n=0] [07:32:57.277] | : + additional namespaces needed: [n=0] [07:32:57.277] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:57.278] | : - seeds: [07:32:57.278] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.280] | : Created future: [07:32:57.280] | : ClusterFuture: [07:32:57.280] | : Label: 'future_lapply-1' [07:32:57.280] | : Expression: [07:32:57.280] | : { [07:32:57.280] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:57.280] | : "# expression in do.call(), because function called uses '...' " [07:32:57.280] | : "# as a global variable " [07:32:57.280] | : do.call(function(...) { [07:32:57.280] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:57.280] | : "# without having an '...' argument. This means '...' is treated" [07:32:57.280] | : "# as a global variable. This may happen when FUN() is an " [07:32:57.280] | : "# anonymous function. " [07:32:57.280] | : "# " [07:32:57.280] | : "# If an anonymous function, we will make sure to restore the " [07:32:57.280] | : "# function environment of FUN() to the calling environment. " [07:32:57.280] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:57.280] | : "# global environment, which is where globals are written. " [07:32:57.280] | : penv <- env <- environment(...future.FUN) [07:32:57.280] | : repeat { [07:32:57.280] | : if (identical(env, globalenv()) || identical(env, [07:32:57.280] | : emptyenv())) [07:32:57.280] | : break [07:32:57.280] | : penv <- env [07:32:57.280] | : env <- parent.env(env) [07:32:57.280] | : } [07:32:57.280] | : if (identical(penv, globalenv())) { [07:32:57.280] | : environment(...future.FUN) <- environment() [07:32:57.280] | : } [07:32:57.280] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:57.280] | : !isNamespace(penv)) { [07:32:57.280] | : parent.env(penv) <- environment() [07:32:57.280] | : } [07:32:57.280] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:57.280] | : { [07:32:57.280] | : "# future.apply:::future_xapply(): preserve future option" [07:32:57.280] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:57.280] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:57.280] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:57.280] | : on.exit(options(oopts), add = TRUE) [07:32:57.280] | : } [07:32:57.280] | : { [07:32:57.280] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:57.280] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:57.280] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:57.280] | : { [07:32:57.280] | : ...future.FUN(...future.X_jj, ...) [07:32:57.280] | : } [07:32:57.280] | : }) [07:32:57.280] | : } [07:32:57.280] | : } [07:32:57.280] | : }, args = future.call.arguments) [07:32:57.280] | : } [07:32:57.280] | : Globals: 5 objects totaling 3.82 KiB (function '...future.FUN' of 139 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, list '...future.elements_ii' of 55 bytes, NULL '...future.seeds_ii' of 27 bytes, NULL '...future.globals.maxSize' of 27 bytes) [07:32:57.280] | : Packages: [07:32:57.280] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:57.280] | : Capture standard output: TRUE [07:32:57.280] | : Capture condition classes: 'condition' (excluding '') [07:32:57.280] | : Immediate condition classes: 'immediateCondition' [07:32:57.280] | : Lazy evaluation: FALSE [07:32:57.280] | : Local evaluation: TRUE [07:32:57.280] | : Asynchronous evaluation: TRUE [07:32:57.280] | : Early signaling: FALSE [07:32:57.280] | : Environment: R_GlobalEnv [07:32:57.280] | : State: 'running' [07:32:57.280] | : Resolved: TRUE [07:32:57.280] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-6 [07:32:57.280] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.280] | : Class: 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:57.280] | : Value: [07:32:57.280] | : Conditions captured: [07:32:57.285] | : Chunk #1 of 1 ... DONE [07:32:57.285] | : Launching 1 futures (chunks) ... DONE [07:32:57.286] | : Resolving 1 futures (chunks) ... [07:32:57.286] | : onError() ... [07:32:57.287] | : . Received Warning: Caught simpleError. Canceling all iterations ... [07:32:57.287] | : . Signaling: [07:32:57.287] | : onError() ... done [07:32:57.288] | future_lapply() -> future_xapply() ... done [07:32:57.289] future_lapply() ... done > stopifnot(inherits(res, "error")) > message("*** future_lapply() - manual globals ... DONE") *** future_lapply() - manual globals ... DONE > message("*** future_lapply() - tricky globals ...") *** future_lapply() - tricky globals ... > my_add <- function(a, b) a + b > call_my_add <- function(a, b) { + do.call(my_add, args = list(a = a, b = b)) + } > call_my_add_caller <- function(a, b, FUN = call_my_add) { + do.call(FUN, args = list(a = a, b = b)) + } > main <- function(x = 1:2, caller = call_my_add_caller, + args = list(FUN = call_my_add)) { + results <- future_lapply(x, FUN = function(i) .... [TRUNCATED] > x <- list(list(1:2)) > z_length <- lapply(x, FUN = do.call, what = length) > fun <- function(...) sum(...) > z_fun <- lapply(x, FUN = do.call, what = fun) > y0 <- NULL > for (strategy in supportedStrategies()) { + plan(strategy) + y <- main(1:3) + if (is.null(y0)) + y0 <- y + stopifnot(identi .... [TRUNCATED] [07:32:57.379] future_lapply() ... [07:32:57.380] | Globals in FUN(): [n=7] '{', 'do.call', 'caller', 'c', 'list', '+', 'args' [07:32:57.381] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:57.381] | future_lapply() -> future_xapply() ... [07:32:57.381] | : Number of chunks: 1 [07:32:57.381] | : getGlobalsAndPackagesXApply() ... [07:32:57.382] | : . future.globals: TRUE [07:32:57.409] | : . globals found/used: [n=5] 'FUN', 'caller', 'args', 'call_my_add', 'my_add' [07:32:57.409] | : . needed namespaces: [n=0] [07:32:57.409] | : . use_args: TRUE [07:32:57.409] | : . Getting '...' globals ... [07:32:57.410] | : . ' '...' content: [n=0] [07:32:57.410] | : . ' List of 1 [07:32:57.410] | : . ' $ ...: list() [07:32:57.410] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.410] | : . ' - attr(*, "where")=List of 1 [07:32:57.410] | : . ' ..$ ...: [07:32:57.410] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.410] | : . ' - attr(*, "resolved")= logi TRUE [07:32:57.410] | : . ' - attr(*, "total_size")= num NA [07:32:57.413] | : . Getting '...' globals ... done [07:32:57.414] | : . Globals to be used in all futures (chunks): [n=6] '...future.FUN', 'caller', 'args', 'call_my_add', 'my_add', '...' [07:32:57.414] | : . List of 6 [07:32:57.414] | : . $ ...future.FUN:function (i) [07:32:57.414] | : . $ caller :function (a, b, FUN = call_my_add) [07:32:57.414] | : . $ args :List of 1 [07:32:57.414] | : . ..$ FUN:function (a, b) [07:32:57.414] | : . $ call_my_add :function (a, b) [07:32:57.414] | : . $ my_add :function (a, b) [07:32:57.414] | : . $ ... : list() [07:32:57.414] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.414] | : . - attr(*, "where")=List of 6 [07:32:57.414] | : . ..$ ...future.FUN: [07:32:57.414] | : . ..$ caller : [07:32:57.414] | : . ..$ args : [07:32:57.414] | : . ..$ call_my_add : [07:32:57.414] | : . ..$ my_add : [07:32:57.414] | : . ..$ ... : [07:32:57.414] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.414] | : . - attr(*, "resolved")= logi FALSE [07:32:57.414] | : . - attr(*, "total_size")= num 6429 [07:32:57.420] | : . Packages to be attached in all futures: [n=0] [07:32:57.420] | : getGlobalsAndPackagesXApply() ... done [07:32:57.421] | : Globals pass to each chunk: [n=9] '...future.FUN', 'caller', 'args', 'call_my_add', 'my_add', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.421] | : List of 9 [07:32:57.421] | : $ ...future.FUN :function (i) [07:32:57.421] | : $ caller :function (a, b, FUN = call_my_add) [07:32:57.421] | : $ args :List of 1 [07:32:57.421] | : ..$ FUN:function (a, b) [07:32:57.421] | : $ call_my_add :function (a, b) [07:32:57.421] | : $ my_add :function (a, b) [07:32:57.421] | : $ ... : list() [07:32:57.421] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.421] | : $ ...future.elements_ii : NULL [07:32:57.421] | : $ ...future.seeds_ii : NULL [07:32:57.421] | : $ ...future.globals.maxSize: NULL [07:32:57.421] | : - attr(*, "where")=List of 9 [07:32:57.421] | : ..$ ...future.FUN : [07:32:57.421] | : ..$ caller : [07:32:57.421] | : ..$ args : [07:32:57.421] | : ..$ call_my_add : [07:32:57.421] | : ..$ my_add : [07:32:57.421] | : ..$ ... : [07:32:57.421] | : ..$ ...future.elements_ii : [07:32:57.421] | : ..$ ...future.seeds_ii : [07:32:57.421] | : ..$ ...future.globals.maxSize: [07:32:57.421] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.421] | : - attr(*, "resolved")= logi FALSE [07:32:57.421] | : - attr(*, "total_size")= num 6429 [07:32:57.429] | : Number of futures (= number of chunks): 1 [07:32:57.429] | : Launching 1 futures (chunks) ... [07:32:57.429] | : Chunk #1 of 1 ... [07:32:57.429] | : - Finding globals in 'X' for chunk #1 ... [07:32:57.430] | : + additional globals found: [n=0] [07:32:57.430] | : + additional namespaces needed: [n=0] [07:32:57.430] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:57.430] | : - seeds: [07:32:57.430] | : - All globals exported: [n=9] '...future.FUN', 'caller', 'args', 'call_my_add', 'my_add', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.444] | : Created future: [07:32:57.445] | : SequentialFuture: [07:32:57.445] | : Label: 'future_lapply-1' [07:32:57.445] | : Expression: [07:32:57.445] | : { [07:32:57.445] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:57.445] | : "# expression in do.call(), because function called uses '...' " [07:32:57.445] | : "# as a global variable " [07:32:57.445] | : do.call(function(...) { [07:32:57.445] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:57.445] | : "# without having an '...' argument. This means '...' is treated" [07:32:57.445] | : "# as a global variable. This may happen when FUN() is an " [07:32:57.445] | : "# anonymous function. " [07:32:57.445] | : "# " [07:32:57.445] | : "# If an anonymous function, we will make sure to restore the " [07:32:57.445] | : "# function environment of FUN() to the calling environment. " [07:32:57.445] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:57.445] | : "# global environment, which is where globals are written. " [07:32:57.445] | : penv <- env <- environment(...future.FUN) [07:32:57.445] | : repeat { [07:32:57.445] | : if (identical(env, globalenv()) || identical(env, [07:32:57.445] | : emptyenv())) [07:32:57.445] | : break [07:32:57.445] | : penv <- env [07:32:57.445] | : env <- parent.env(env) [07:32:57.445] | : } [07:32:57.445] | : if (identical(penv, globalenv())) { [07:32:57.445] | : environment(...future.FUN) <- environment() [07:32:57.445] | : } [07:32:57.445] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:57.445] | : !isNamespace(penv)) { [07:32:57.445] | : parent.env(penv) <- environment() [07:32:57.445] | : } [07:32:57.445] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:57.445] | : { [07:32:57.445] | : "# future.apply:::future_xapply(): preserve future option" [07:32:57.445] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:57.445] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:57.445] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:57.445] | : on.exit(options(oopts), add = TRUE) [07:32:57.445] | : } [07:32:57.445] | : { [07:32:57.445] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:57.445] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:57.445] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:57.445] | : { [07:32:57.445] | : ...future.FUN(...future.X_jj, ...) [07:32:57.445] | : } [07:32:57.445] | : }) [07:32:57.445] | : } [07:32:57.445] | : } [07:32:57.445] | : }, args = future.call.arguments) [07:32:57.445] | : } [07:32:57.445] | : Globals: 9 objects totaling 8.83 KiB (function '...future.FUN' of 2.77 KiB, list 'args' of 928 bytes, function 'caller' of 904 bytes, function 'call_my_add' of 876 bytes, function 'my_add' of 114 bytes, ...) [07:32:57.445] | : Packages: [07:32:57.445] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:57.445] | : Capture standard output: TRUE [07:32:57.445] | : Capture condition classes: 'condition' (excluding '') [07:32:57.445] | : Immediate condition classes: 'immediateCondition' [07:32:57.445] | : Lazy evaluation: FALSE [07:32:57.445] | : Local evaluation: TRUE [07:32:57.445] | : Asynchronous evaluation: TRUE [07:32:57.445] | : Early signaling: FALSE [07:32:57.445] | : Environment: 0x00000201074551f0 [07:32:57.445] | : State: 'finished' [07:32:57.445] | : Resolved: TRUE [07:32:57.445] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-7 [07:32:57.445] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.445] | : Class: 'SequentialFuture', 'UniprocessFuture', 'Future' [07:32:57.445] | : Value: 67 bytes of class 'list' [07:32:57.445] | : Duration: 0.01030803 secs (started 2025-12-09 07:32:57.43321) [07:32:57.445] | : Worker process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.447] | : Chunk #1 of 1 ... DONE [07:32:57.447] | : Launching 1 futures (chunks) ... DONE [07:32:57.447] | : Resolving 1 futures (chunks) ... [07:32:57.448] | : - Number of value chunks collected: 1 [07:32:57.448] | : Resolving 1 futures (chunks) ... DONE [07:32:57.449] | : Reducing values from 1 chunks ... [07:32:57.449] | : - Number of values collected after concatenation: 3 [07:32:57.449] | : - Number of values expected: 3 [07:32:57.449] | : Reducing values from 1 chunks ... DONE [07:32:57.449] | future_lapply() -> future_xapply() ... done [07:32:57.450] future_lapply() ... done - future_lapply(x, FUN = do.call, ...) ... [07:32:57.450] future_lapply() ... [07:32:57.452] | Globals in FUN(): [n=10] 'parent.frame', '{', 'if', '!', 'is.list', 'stop', '<-', 'lapply', 'enquote', '.Internal' [07:32:57.452] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:57.453] | future_lapply() -> future_xapply() ... [07:32:57.453] | : Number of chunks: 1 [07:32:57.453] | : getGlobalsAndPackagesXApply() ... [07:32:57.453] | : . future.globals: TRUE [07:32:57.474] | : . globals found/used: [n=1] 'FUN' [07:32:57.474] | : . needed namespaces: [n=0] [07:32:57.475] | : . use_args: TRUE [07:32:57.475] | : . Getting '...' globals ... [07:32:57.475] | : . ' '...' content: [n=1] 'what' [07:32:57.476] | : . ' List of 1 [07:32:57.476] | : . ' $ ...:List of 1 [07:32:57.476] | : . ' ..$ what:function (x) [07:32:57.476] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.476] | : . ' - attr(*, "where")=List of 1 [07:32:57.476] | : . ' ..$ ...: [07:32:57.476] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.476] | : . ' - attr(*, "resolved")= logi TRUE [07:32:57.476] | : . ' - attr(*, "total_size")= num NA [07:32:57.479] | : . Getting '...' globals ... done [07:32:57.479] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:57.479] | : . List of 2 [07:32:57.479] | : . $ ...future.FUN:function (what, args, quote = FALSE, envir = parent.frame()) [07:32:57.479] | : . $ ... :List of 1 [07:32:57.479] | : . ..$ what:function (x) [07:32:57.479] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.479] | : . - attr(*, "where")=List of 2 [07:32:57.479] | : . ..$ ...future.FUN: [07:32:57.479] | : . ..$ ... : [07:32:57.479] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.479] | : . - attr(*, "resolved")= logi FALSE [07:32:57.479] | : . - attr(*, "total_size")= num 7368 [07:32:57.484] | : . Packages to be attached in all futures: [n=0] [07:32:57.485] | : getGlobalsAndPackagesXApply() ... done [07:32:57.485] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.485] | : List of 5 [07:32:57.485] | : $ ...future.FUN :function (what, args, quote = FALSE, envir = parent.frame()) [07:32:57.485] | : $ ... :List of 1 [07:32:57.485] | : ..$ what:function (x) [07:32:57.485] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.485] | : $ ...future.elements_ii : NULL [07:32:57.485] | : $ ...future.seeds_ii : NULL [07:32:57.485] | : $ ...future.globals.maxSize: NULL [07:32:57.485] | : - attr(*, "where")=List of 5 [07:32:57.485] | : ..$ ...future.FUN : [07:32:57.485] | : ..$ ... : [07:32:57.485] | : ..$ ...future.elements_ii : [07:32:57.485] | : ..$ ...future.seeds_ii : [07:32:57.485] | : ..$ ...future.globals.maxSize: [07:32:57.485] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.485] | : - attr(*, "resolved")= logi FALSE [07:32:57.485] | : - attr(*, "total_size")= num 7368 [07:32:57.491] | : Number of futures (= number of chunks): 1 [07:32:57.492] | : Launching 1 futures (chunks) ... [07:32:57.492] | : Chunk #1 of 1 ... [07:32:57.492] | : - Finding globals in 'X' for chunk #1 ... [07:32:57.493] | : + additional globals found: [n=0] [07:32:57.493] | : + additional namespaces needed: [n=0] [07:32:57.493] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:57.493] | : - seeds: [07:32:57.493] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.499] | : Created future: [07:32:57.499] | : SequentialFuture: [07:32:57.499] | : Label: 'future_lapply-1' [07:32:57.499] | : Expression: [07:32:57.499] | : { [07:32:57.499] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:57.499] | : "# expression in do.call(), because function called uses '...' " [07:32:57.499] | : "# as a global variable " [07:32:57.499] | : do.call(function(...) { [07:32:57.499] | : "# future.apply:::future_xapply(): preserve future option" [07:32:57.499] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:57.499] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:57.499] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:57.499] | : on.exit(options(oopts), add = TRUE) [07:32:57.499] | : } [07:32:57.499] | : { [07:32:57.499] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:57.499] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:57.499] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:57.499] | : { [07:32:57.499] | : ...future.FUN(...future.X_jj, ...) [07:32:57.499] | : } [07:32:57.499] | : }) [07:32:57.499] | : } [07:32:57.499] | : }, args = future.call.arguments) [07:32:57.499] | : } [07:32:57.499] | : Globals: 5 objects totaling 7.38 KiB (function '...future.FUN' of 1.79 KiB, DotDotDotList 'future.call.arguments' of 152 bytes, list '...future.elements_ii' of 149 bytes, NULL '...future.seeds_ii' of 27 bytes, NULL '...future.globals.maxSize' of 27 bytes) [07:32:57.499] | : Packages: [07:32:57.499] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:57.499] | : Capture standard output: TRUE [07:32:57.499] | : Capture condition classes: 'condition' (excluding '') [07:32:57.499] | : Immediate condition classes: 'immediateCondition' [07:32:57.499] | : Lazy evaluation: FALSE [07:32:57.499] | : Local evaluation: TRUE [07:32:57.499] | : Asynchronous evaluation: TRUE [07:32:57.499] | : Early signaling: FALSE [07:32:57.499] | : Environment: R_GlobalEnv [07:32:57.499] | : State: 'finished' [07:32:57.499] | : Resolved: TRUE [07:32:57.499] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-8 [07:32:57.499] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.499] | : Class: 'SequentialFuture', 'UniprocessFuture', 'Future' [07:32:57.499] | : Value: 43 bytes of class 'list' [07:32:57.499] | : Duration: 0.003118992 secs (started 2025-12-09 07:32:57.495042) [07:32:57.499] | : Worker process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.501] | : Chunk #1 of 1 ... DONE [07:32:57.501] | : Launching 1 futures (chunks) ... DONE [07:32:57.501] | : Resolving 1 futures (chunks) ... [07:32:57.502] | : - Number of value chunks collected: 1 [07:32:57.502] | : Resolving 1 futures (chunks) ... DONE [07:32:57.502] | : Reducing values from 1 chunks ... [07:32:57.504] | : - Number of values collected after concatenation: 1 [07:32:57.504] | : - Number of values expected: 1 [07:32:57.504] | : Reducing values from 1 chunks ... DONE [07:32:57.504] | future_lapply() -> future_xapply() ... done [07:32:57.504] future_lapply() ... done [07:32:57.505] future_lapply() ... [07:32:57.507] | Globals in FUN(): [n=10] 'parent.frame', '{', 'if', '!', 'is.list', 'stop', '<-', 'lapply', 'enquote', '.Internal' [07:32:57.507] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:57.507] | future_lapply() -> future_xapply() ... [07:32:57.507] | : Number of chunks: 1 [07:32:57.507] | : getGlobalsAndPackagesXApply() ... [07:32:57.508] | : . future.globals: TRUE [07:32:57.531] | : . globals found/used: [n=1] 'FUN' [07:32:57.531] | : . needed namespaces: [n=0] [07:32:57.531] | : . use_args: TRUE [07:32:57.532] | : . Getting '...' globals ... [07:32:57.532] | : . ' '...' content: [n=1] 'what' [07:32:57.532] | : . ' List of 1 [07:32:57.532] | : . ' $ ...:List of 1 [07:32:57.532] | : . ' ..$ what:function (...) [07:32:57.532] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.532] | : . ' - attr(*, "where")=List of 1 [07:32:57.532] | : . ' ..$ ...: [07:32:57.532] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.532] | : . ' - attr(*, "resolved")= logi TRUE [07:32:57.532] | : . ' - attr(*, "total_size")= num NA [07:32:57.536] | : . Getting '...' globals ... done [07:32:57.536] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:57.536] | : . List of 2 [07:32:57.536] | : . $ ...future.FUN:function (what, args, quote = FALSE, envir = parent.frame()) [07:32:57.536] | : . $ ... :List of 1 [07:32:57.536] | : . ..$ what:function (...) [07:32:57.536] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.536] | : . - attr(*, "where")=List of 2 [07:32:57.536] | : . ..$ ...future.FUN: [07:32:57.536] | : . ..$ ... : [07:32:57.536] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.536] | : . - attr(*, "resolved")= logi FALSE [07:32:57.536] | : . - attr(*, "total_size")= num 7436 [07:32:57.540] | : . Packages to be attached in all futures: [n=0] [07:32:57.540] | : getGlobalsAndPackagesXApply() ... done [07:32:57.540] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.540] | : List of 5 [07:32:57.540] | : $ ...future.FUN :function (what, args, quote = FALSE, envir = parent.frame()) [07:32:57.540] | : $ ... :List of 1 [07:32:57.540] | : ..$ what:function (...) [07:32:57.540] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.540] | : $ ...future.elements_ii : NULL [07:32:57.540] | : $ ...future.seeds_ii : NULL [07:32:57.540] | : $ ...future.globals.maxSize: NULL [07:32:57.540] | : - attr(*, "where")=List of 5 [07:32:57.540] | : ..$ ...future.FUN : [07:32:57.540] | : ..$ ... : [07:32:57.540] | : ..$ ...future.elements_ii : [07:32:57.540] | : ..$ ...future.seeds_ii : [07:32:57.540] | : ..$ ...future.globals.maxSize: [07:32:57.540] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.540] | : - attr(*, "resolved")= logi FALSE [07:32:57.540] | : - attr(*, "total_size")= num 7436 [07:32:57.546] | : Number of futures (= number of chunks): 1 [07:32:57.546] | : Launching 1 futures (chunks) ... [07:32:57.546] | : Chunk #1 of 1 ... [07:32:57.546] | : - Finding globals in 'X' for chunk #1 ... [07:32:57.547] | : + additional globals found: [n=0] [07:32:57.547] | : + additional namespaces needed: [n=0] [07:32:57.547] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:57.547] | : - seeds: [07:32:57.548] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.554] | : Created future: [07:32:57.554] | : SequentialFuture: [07:32:57.554] | : Label: 'future_lapply-1' [07:32:57.554] | : Expression: [07:32:57.554] | : { [07:32:57.554] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:57.554] | : "# expression in do.call(), because function called uses '...' " [07:32:57.554] | : "# as a global variable " [07:32:57.554] | : do.call(function(...) { [07:32:57.554] | : "# future.apply:::future_xapply(): preserve future option" [07:32:57.554] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:57.554] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:57.554] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:57.554] | : on.exit(options(oopts), add = TRUE) [07:32:57.554] | : } [07:32:57.554] | : { [07:32:57.554] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:57.554] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:57.554] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:57.554] | : { [07:32:57.554] | : ...future.FUN(...future.X_jj, ...) [07:32:57.554] | : } [07:32:57.554] | : }) [07:32:57.554] | : } [07:32:57.554] | : }, args = future.call.arguments) [07:32:57.554] | : } [07:32:57.554] | : Globals: 5 objects totaling 7.80 KiB (function '...future.FUN' of 1.79 KiB, DotDotDotList 'future.call.arguments' of 388 bytes, list '...future.elements_ii' of 149 bytes, NULL '...future.seeds_ii' of 27 bytes, NULL '...future.globals.maxSize' of 27 bytes) [07:32:57.554] | : Packages: [07:32:57.554] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:57.554] | : Capture standard output: TRUE [07:32:57.554] | : Capture condition classes: 'condition' (excluding '') [07:32:57.554] | : Immediate condition classes: 'immediateCondition' [07:32:57.554] | : Lazy evaluation: FALSE [07:32:57.554] | : Local evaluation: TRUE [07:32:57.554] | : Asynchronous evaluation: TRUE [07:32:57.554] | : Early signaling: FALSE [07:32:57.554] | : Environment: R_GlobalEnv [07:32:57.554] | : State: 'finished' [07:32:57.554] | : Resolved: TRUE [07:32:57.554] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-9 [07:32:57.554] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.554] | : Class: 'SequentialFuture', 'UniprocessFuture', 'Future' [07:32:57.554] | : Value: 43 bytes of class 'list' [07:32:57.554] | : Duration: 0.003899097 secs (started 2025-12-09 07:32:57.549043) [07:32:57.554] | : Worker process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.555] | : Chunk #1 of 1 ... DONE [07:32:57.555] | : Launching 1 futures (chunks) ... DONE [07:32:57.556] | : Resolving 1 futures (chunks) ... [07:32:57.556] | : - Number of value chunks collected: 1 [07:32:57.556] | : Resolving 1 futures (chunks) ... DONE [07:32:57.556] | : Reducing values from 1 chunks ... [07:32:57.557] | : - Number of values collected after concatenation: 1 [07:32:57.557] | : - Number of values expected: 1 [07:32:57.557] | : Reducing values from 1 chunks ... DONE [07:32:57.557] | future_lapply() -> future_xapply() ... done [07:32:57.557] future_lapply() ... done - future_lapply(x, ...) - passing arguments via '...' ... [07:32:57.558] future_lapply() ... [07:32:57.558] | Globals in FUN(): [n=1] 'typeof' [07:32:57.558] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:57.559] | future_lapply() -> future_xapply() ... [07:32:57.559] | : Number of chunks: 1 [07:32:57.559] | : getGlobalsAndPackagesXApply() ... [07:32:57.559] | : . future.globals: TRUE [07:32:57.567] | : . globals found/used: [n=1] 'FUN' [07:32:57.568] | : . needed namespaces: [n=0] [07:32:57.568] | : . use_args: TRUE [07:32:57.568] | : . Getting '...' globals ... [07:32:57.569] | : . ' '...' content: [n=1] 'b' [07:32:57.569] | : . ' List of 1 [07:32:57.569] | : . ' $ ...:List of 1 [07:32:57.569] | : . ' ..$ b:'data.frame': 2 obs. of 1 variable: [07:32:57.569] | : . ' .. ..$ a: int [1:2] 1 2 [07:32:57.569] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.569] | : . ' - attr(*, "where")=List of 1 [07:32:57.569] | : . ' ..$ ...: [07:32:57.569] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.569] | : . ' - attr(*, "resolved")= logi TRUE [07:32:57.569] | : . ' - attr(*, "total_size")= num NA [07:32:57.573] | : . Getting '...' globals ... done [07:32:57.573] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:57.573] | : . List of 2 [07:32:57.573] | : . $ ...future.FUN:function (a, b) [07:32:57.573] | : . $ ... :List of 1 [07:32:57.573] | : . ..$ b:'data.frame': 2 obs. of 1 variable: [07:32:57.573] | : . .. ..$ a: int [1:2] 1 2 [07:32:57.573] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.573] | : . - attr(*, "where")=List of 2 [07:32:57.573] | : . ..$ ...future.FUN: [07:32:57.573] | : . ..$ ... : [07:32:57.573] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.573] | : . - attr(*, "resolved")= logi FALSE [07:32:57.573] | : . - attr(*, "total_size")= num 4505 [07:32:57.577] | : . Packages to be attached in all futures: [n=0] [07:32:57.577] | : getGlobalsAndPackagesXApply() ... done [07:32:57.578] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.578] | : List of 5 [07:32:57.578] | : $ ...future.FUN :function (a, b) [07:32:57.578] | : $ ... :List of 1 [07:32:57.578] | : ..$ b:'data.frame': 2 obs. of 1 variable: [07:32:57.578] | : .. ..$ a: int [1:2] 1 2 [07:32:57.578] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.578] | : $ ...future.elements_ii : NULL [07:32:57.578] | : $ ...future.seeds_ii : NULL [07:32:57.578] | : $ ...future.globals.maxSize: NULL [07:32:57.578] | : - attr(*, "where")=List of 5 [07:32:57.578] | : ..$ ...future.FUN : [07:32:57.578] | : ..$ ... : [07:32:57.578] | : ..$ ...future.elements_ii : [07:32:57.578] | : ..$ ...future.seeds_ii : [07:32:57.578] | : ..$ ...future.globals.maxSize: [07:32:57.578] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.578] | : - attr(*, "resolved")= logi FALSE [07:32:57.578] | : - attr(*, "total_size")= num 4505 [07:32:57.584] | : Number of futures (= number of chunks): 1 [07:32:57.584] | : Launching 1 futures (chunks) ... [07:32:57.584] | : Chunk #1 of 1 ... [07:32:57.584] | : - Finding globals in 'X' for chunk #1 ... [07:32:57.585] | : + additional globals found: [n=0] [07:32:57.585] | : + additional namespaces needed: [n=0] [07:32:57.585] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:57.585] | : - seeds: [07:32:57.585] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.591] | : Created future: [07:32:57.591] | : SequentialFuture: [07:32:57.591] | : Label: 'future_lapply-1' [07:32:57.591] | : Expression: [07:32:57.591] | : { [07:32:57.591] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:57.591] | : "# expression in do.call(), because function called uses '...' " [07:32:57.591] | : "# as a global variable " [07:32:57.591] | : do.call(function(...) { [07:32:57.591] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:57.591] | : "# without having an '...' argument. This means '...' is treated" [07:32:57.591] | : "# as a global variable. This may happen when FUN() is an " [07:32:57.591] | : "# anonymous function. " [07:32:57.591] | : "# " [07:32:57.591] | : "# If an anonymous function, we will make sure to restore the " [07:32:57.591] | : "# function environment of FUN() to the calling environment. " [07:32:57.591] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:57.591] | : "# global environment, which is where globals are written. " [07:32:57.591] | : penv <- env <- environment(...future.FUN) [07:32:57.591] | : repeat { [07:32:57.591] | : if (identical(env, globalenv()) || identical(env, [07:32:57.591] | : emptyenv())) [07:32:57.591] | : break [07:32:57.591] | : penv <- env [07:32:57.591] | : env <- parent.env(env) [07:32:57.591] | : } [07:32:57.591] | : if (identical(penv, globalenv())) { [07:32:57.591] | : environment(...future.FUN) <- environment() [07:32:57.591] | : } [07:32:57.591] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:57.591] | : !isNamespace(penv)) { [07:32:57.591] | : parent.env(penv) <- environment() [07:32:57.591] | : } [07:32:57.591] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:57.591] | : { [07:32:57.591] | : "# future.apply:::future_xapply(): preserve future option" [07:32:57.591] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:57.591] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:57.591] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:57.591] | : on.exit(options(oopts), add = TRUE) [07:32:57.591] | : } [07:32:57.591] | : { [07:32:57.591] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:57.591] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:57.591] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:57.591] | : { [07:32:57.591] | : ...future.FUN(...future.X_jj, ...) [07:32:57.591] | : } [07:32:57.591] | : }) [07:32:57.591] | : } [07:32:57.591] | : } [07:32:57.591] | : }, args = future.call.arguments) [07:32:57.591] | : } [07:32:57.591] | : Globals: 5 objects totaling 4.67 KiB (DotDotDotList 'future.call.arguments' of 357 bytes, function '...future.FUN' of 332 bytes, list '...future.elements_ii' of 43 bytes, NULL '...future.seeds_ii' of 27 bytes, NULL '...future.globals.maxSize' of 27 bytes) [07:32:57.591] | : Packages: [07:32:57.591] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:57.591] | : Capture standard output: TRUE [07:32:57.591] | : Capture condition classes: 'condition' (excluding '') [07:32:57.591] | : Immediate condition classes: 'immediateCondition' [07:32:57.591] | : Lazy evaluation: FALSE [07:32:57.591] | : Local evaluation: TRUE [07:32:57.591] | : Asynchronous evaluation: TRUE [07:32:57.591] | : Early signaling: FALSE [07:32:57.591] | : Environment: R_GlobalEnv [07:32:57.591] | : State: 'finished' [07:32:57.591] | : Resolved: TRUE [07:32:57.591] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-10 [07:32:57.591] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.591] | : Class: 'SequentialFuture', 'UniprocessFuture', 'Future' [07:32:57.591] | : Value: 51 bytes of class 'list' [07:32:57.591] | : Duration: 0.002863884 secs (started 2025-12-09 07:32:57.586971) [07:32:57.591] | : Worker process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.593] | : Chunk #1 of 1 ... DONE [07:32:57.593] | : Launching 1 futures (chunks) ... DONE [07:32:57.593] | : Resolving 1 futures (chunks) ... [07:32:57.594] | : - Number of value chunks collected: 1 [07:32:57.594] | : Resolving 1 futures (chunks) ... DONE [07:32:57.594] | : Reducing values from 1 chunks ... [07:32:57.594] | : - Number of values collected after concatenation: 1 [07:32:57.594] | : - Number of values expected: 1 [07:32:57.594] | : Reducing values from 1 chunks ... DONE [07:32:57.595] | future_lapply() -> future_xapply() ... done [07:32:57.595] future_lapply() ... done [07:32:57.595] future_lapply() ... [07:32:57.596] | Globals in FUN(): [n=1] 'typeof' [07:32:57.596] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:57.596] | future_lapply() -> future_xapply() ... [07:32:57.596] | : Number of chunks: 1 [07:32:57.596] | : getGlobalsAndPackagesXApply() ... [07:32:57.597] | : . future.globals: TRUE [07:32:57.603] | : . globals found/used: [n=1] 'FUN' [07:32:57.604] | : . needed namespaces: [n=0] [07:32:57.604] | : . use_args: TRUE [07:32:57.604] | : . Getting '...' globals ... [07:32:57.605] | : . ' '...' content: [n=1] 'b' [07:32:57.605] | : . ' List of 1 [07:32:57.605] | : . ' $ ...:List of 1 [07:32:57.605] | : . ' ..$ b: [07:32:57.605] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.605] | : . ' - attr(*, "where")=List of 1 [07:32:57.605] | : . ' ..$ ...: [07:32:57.605] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.605] | : . ' - attr(*, "resolved")= logi TRUE [07:32:57.605] | : . ' - attr(*, "total_size")= num NA [07:32:57.608] | : . Getting '...' globals ... done [07:32:57.608] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:57.609] | : . List of 2 [07:32:57.609] | : . $ ...future.FUN:function (a, b) [07:32:57.609] | : . $ ... :List of 1 [07:32:57.609] | : . ..$ b: [07:32:57.609] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.609] | : . - attr(*, "where")=List of 2 [07:32:57.609] | : . ..$ ...future.FUN: [07:32:57.609] | : . ..$ ... : [07:32:57.609] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.609] | : . - attr(*, "resolved")= logi FALSE [07:32:57.609] | : . - attr(*, "total_size")= num 4260 [07:32:57.612] | : . Packages to be attached in all futures: [n=0] [07:32:57.612] | : getGlobalsAndPackagesXApply() ... done [07:32:57.613] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.613] | : List of 5 [07:32:57.613] | : $ ...future.FUN :function (a, b) [07:32:57.613] | : $ ... :List of 1 [07:32:57.613] | : ..$ b: [07:32:57.613] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.613] | : $ ...future.elements_ii : NULL [07:32:57.613] | : $ ...future.seeds_ii : NULL [07:32:57.613] | : $ ...future.globals.maxSize: NULL [07:32:57.613] | : - attr(*, "where")=List of 5 [07:32:57.613] | : ..$ ...future.FUN : [07:32:57.613] | : ..$ ... : [07:32:57.613] | : ..$ ...future.elements_ii : [07:32:57.613] | : ..$ ...future.seeds_ii : [07:32:57.613] | : ..$ ...future.globals.maxSize: [07:32:57.613] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.613] | : - attr(*, "resolved")= logi FALSE [07:32:57.613] | : - attr(*, "total_size")= num 4260 [07:32:57.618] | : Number of futures (= number of chunks): 1 [07:32:57.618] | : Launching 1 futures (chunks) ... [07:32:57.619] | : Chunk #1 of 1 ... [07:32:57.619] | : - Finding globals in 'X' for chunk #1 ... [07:32:57.619] | : + additional globals found: [n=0] [07:32:57.619] | : + additional namespaces needed: [n=0] [07:32:57.620] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:57.620] | : - seeds: [07:32:57.620] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.626] | : Created future: [07:32:57.626] | : SequentialFuture: [07:32:57.626] | : Label: 'future_lapply-1' [07:32:57.626] | : Expression: [07:32:57.626] | : { [07:32:57.626] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:57.626] | : "# expression in do.call(), because function called uses '...' " [07:32:57.626] | : "# as a global variable " [07:32:57.626] | : do.call(function(...) { [07:32:57.626] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:57.626] | : "# without having an '...' argument. This means '...' is treated" [07:32:57.626] | : "# as a global variable. This may happen when FUN() is an " [07:32:57.626] | : "# anonymous function. " [07:32:57.626] | : "# " [07:32:57.626] | : "# If an anonymous function, we will make sure to restore the " [07:32:57.626] | : "# function environment of FUN() to the calling environment. " [07:32:57.626] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:57.626] | : "# global environment, which is where globals are written. " [07:32:57.626] | : penv <- env <- environment(...future.FUN) [07:32:57.626] | : repeat { [07:32:57.626] | : if (identical(env, globalenv()) || identical(env, [07:32:57.626] | : emptyenv())) [07:32:57.626] | : break [07:32:57.626] | : penv <- env [07:32:57.626] | : env <- parent.env(env) [07:32:57.626] | : } [07:32:57.626] | : if (identical(penv, globalenv())) { [07:32:57.626] | : environment(...future.FUN) <- environment() [07:32:57.626] | : } [07:32:57.626] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:57.626] | : !isNamespace(penv)) { [07:32:57.626] | : parent.env(penv) <- environment() [07:32:57.626] | : } [07:32:57.626] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:57.626] | : { [07:32:57.626] | : "# future.apply:::future_xapply(): preserve future option" [07:32:57.626] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:57.626] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:57.626] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:57.626] | : on.exit(options(oopts), add = TRUE) [07:32:57.626] | : } [07:32:57.626] | : { [07:32:57.626] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:57.626] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:57.626] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:57.626] | : { [07:32:57.626] | : ...future.FUN(...future.X_jj, ...) [07:32:57.626] | : } [07:32:57.626] | : }) [07:32:57.626] | : } [07:32:57.626] | : } [07:32:57.626] | : }, args = future.call.arguments) [07:32:57.626] | : } [07:32:57.626] | : Globals: 5 objects totaling 4.43 KiB (function '...future.FUN' of 332 bytes, DotDotDotList 'future.call.arguments' of 279 bytes, list '...future.elements_ii' of 43 bytes, NULL '...future.seeds_ii' of 27 bytes, NULL '...future.globals.maxSize' of 27 bytes) [07:32:57.626] | : Packages: [07:32:57.626] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:57.626] | : Capture standard output: TRUE [07:32:57.626] | : Capture condition classes: 'condition' (excluding '') [07:32:57.626] | : Immediate condition classes: 'immediateCondition' [07:32:57.626] | : Lazy evaluation: FALSE [07:32:57.626] | : Local evaluation: TRUE [07:32:57.626] | : Asynchronous evaluation: TRUE [07:32:57.626] | : Early signaling: FALSE [07:32:57.626] | : Environment: R_GlobalEnv [07:32:57.626] | : State: 'finished' [07:32:57.626] | : Resolved: TRUE [07:32:57.626] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-11 [07:32:57.626] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.626] | : Class: 'SequentialFuture', 'UniprocessFuture', 'Future' [07:32:57.626] | : Value: 58 bytes of class 'list' [07:32:57.626] | : Duration: 0.004134178 secs (started 2025-12-09 07:32:57.62141) [07:32:57.626] | : Worker process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.628] | : Chunk #1 of 1 ... DONE [07:32:57.628] | : Launching 1 futures (chunks) ... DONE [07:32:57.629] | : Resolving 1 futures (chunks) ... [07:32:57.629] | : - Number of value chunks collected: 1 [07:32:57.629] | : Resolving 1 futures (chunks) ... DONE [07:32:57.629] | : Reducing values from 1 chunks ... [07:32:57.630] | : - Number of values collected after concatenation: 1 [07:32:57.630] | : - Number of values expected: 1 [07:32:57.630] | : Reducing values from 1 chunks ... DONE [07:32:57.630] | future_lapply() -> future_xapply() ... done [07:32:57.630] future_lapply() ... done [07:32:57.631] future_lapply() ... [07:32:57.631] | Globals in FUN(): [n=1] 'typeof' [07:32:57.631] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:57.632] | future_lapply() -> future_xapply() ... [07:32:57.632] | : Number of chunks: 1 [07:32:57.632] | : getGlobalsAndPackagesXApply() ... [07:32:57.632] | : . future.globals: TRUE [07:32:57.640] | : . globals found/used: [n=1] 'FUN' [07:32:57.640] | : . needed namespaces: [n=0] [07:32:57.640] | : . use_args: TRUE [07:32:57.641] | : . Getting '...' globals ... [07:32:57.641] | : . ' '...' content: [n=1] 'b' [07:32:57.642] | : . ' List of 1 [07:32:57.642] | : . ' $ ...:List of 1 [07:32:57.642] | : . ' ..$ b:Formal class 'classRepresentation' [package "methods"] with 11 slots [07:32:57.642] | : . ' .. .. ..@ slots :List of 4 [07:32:57.642] | : . ' .. .. .. ..$ .Data : chr "function" [07:32:57.642] | : . ' .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. ..$ target : chr "signature" [07:32:57.642] | : . ' .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. ..$ defined: chr "signature" [07:32:57.642] | : . ' .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. ..$ generic: chr "character" [07:32:57.642] | : . ' .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. ..@ contains :List of 4 [07:32:57.642] | : . ' .. .. .. ..$ function :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.642] | : . ' .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ superClass: chr "function" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.642] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:57.642] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.642] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.642] | : . ' .. .. .. .. .. ..@ by : chr(0) [07:32:57.642] | : . ' .. .. .. .. .. ..@ dataPart : logi TRUE [07:32:57.642] | : . ' .. .. .. .. .. ..@ distance : num 1 [07:32:57.642] | : . ' .. .. .. ..$ OptionalFunction:Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.642] | : . ' .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ superClass: chr "OptionalFunction" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.642] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:57.642] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.642] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.642] | : . ' .. .. .. .. .. ..@ by : chr "function" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.642] | : . ' .. .. .. .. .. ..@ distance : num 2 [07:32:57.642] | : . ' .. .. .. ..$ PossibleMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.642] | : . ' .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ superClass: chr "PossibleMethod" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.642] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:57.642] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.642] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.642] | : . ' .. .. .. .. .. ..@ by : chr "function" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.642] | : . ' .. .. .. .. .. ..@ distance : num 2 [07:32:57.642] | : . ' .. .. .. ..$ optionalMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.642] | : . ' .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ superClass: chr "optionalMethod" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.642] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:57.642] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.642] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.642] | : . ' .. .. .. .. .. ..@ by : chr "function" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.642] | : . ' .. .. .. .. .. ..@ distance : num 3 [07:32:57.642] | : . ' .. .. ..@ virtual : logi FALSE [07:32:57.642] | : . ' .. .. ..@ prototype :Formal class 'function' [package ""] with 0 slots [07:32:57.642] | : . ' list() [07:32:57.642] | : . ' .. .. .. .. ..$ target :Formal class 'signature' [package "methods"] with 3 slots [07:32:57.642] | : . ' .. .. .. .. .. .. ..@ .Data : chr(0) [07:32:57.642] | : . ' .. .. .. .. .. .. ..@ names : chr(0) [07:32:57.642] | : . ' .. .. .. .. .. .. ..@ package: chr(0) [07:32:57.642] | : . ' .. .. .. .. ..$ defined:Formal class 'signature' [package "methods"] with 3 slots [07:32:57.642] | : . ' .. .. .. .. .. .. ..@ .Data : chr(0) [07:32:57.642] | : . ' .. .. .. .. .. .. ..@ names : chr(0) [07:32:57.642] | : . ' .. .. .. .. .. .. ..@ package: chr(0) [07:32:57.642] | : . ' .. .. .. .. ..$ generic: chr(0) [07:32:57.642] | : . ' .. .. ..@ validity : NULL [07:32:57.642] | : . ' .. .. ..@ access : list() [07:32:57.642] | : . ' .. .. ..@ className : chr "MethodDefinition" [07:32:57.642] | : . ' .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. ..@ package : chr "methods" [07:32:57.642] | : . ' .. .. ..@ subclasses:List of 7 [07:32:57.642] | : . ' .. .. .. ..$ derivedDefaultMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.642] | : . ' .. .. .. .. .. ..@ subClass : chr "derivedDefaultMethod" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.642] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:57.642] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.642] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.642] | : . ' .. .. .. .. .. ..@ by : chr(0) [07:32:57.642] | : . ' .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.642] | : . ' .. .. .. .. .. ..@ distance : num 1 [07:32:57.642] | : . ' .. .. .. ..$ MethodWithNext :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.642] | : . ' .. .. .. .. .. ..@ subClass : chr "MethodWithNext" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.642] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:57.642] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.642] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.642] | : . ' .. .. .. .. .. ..@ by : chr(0) [07:32:57.642] | : . ' .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.642] | : . ' .. .. .. .. .. ..@ distance : num 1 [07:32:57.642] | : . ' .. .. .. ..$ SealedMethodDefinition :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.642] | : . ' .. .. .. .. .. ..@ subClass : chr "SealedMethodDefinition" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.642] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:57.642] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.642] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.642] | : . ' .. .. .. .. .. ..@ by : chr(0) [07:32:57.642] | : . ' .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.642] | : . ' .. .. .. .. .. ..@ distance : num 1 [07:32:57.642] | : . ' .. .. .. ..$ MethodDefinitionWithTrace :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.642] | : . ' .. .. .. .. .. ..@ subClass : chr "MethodDefinitionWithTrace" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.642] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:57.642] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.642] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.642] | : . ' .. .. .. .. .. ..@ by : chr(0) [07:32:57.642] | : . ' .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.642] | : . ' .. .. .. .. .. ..@ distance : num 1 [07:32:57.642] | : . ' .. .. .. ..$ internalDispatchMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.642] | : . ' .. .. .. .. .. ..@ subClass : chr "internalDispatchMethod" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.642] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:57.642] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.642] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.642] | : . ' .. .. .. .. .. ..@ by : chr "derivedDefaultMethod" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.642] | : . ' .. .. .. .. .. ..@ distance : num 2 [07:32:57.642] | : . ' .. .. .. ..$ MethodWithNextWithTrace :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.642] | : . ' .. .. .. .. .. ..@ subClass : chr "MethodWithNextWithTrace" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.642] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:57.642] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.642] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.642] | : . ' .. .. .. .. .. ..@ by : chr "MethodWithNext" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.642] | : . ' .. .. .. .. .. ..@ distance : num 2 [07:32:57.642] | : . ' .. .. .. ..$ derivedDefaultMethodWithTrace:Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.642] | : . ' .. .. .. .. .. ..@ subClass : chr "derivedDefaultMethodWithTrace" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.642] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:57.642] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.642] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.642] | : . ' .. .. .. .. .. ..@ by : chr "derivedDefaultMethod" [07:32:57.642] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.642] | : . ' .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.642] | : . ' .. .. .. .. .. ..@ distance : num 2 [07:32:57.642] | : . ' .. .. ..@ versionKey: [07:32:57.642] | : . ' .. .. ..@ sealed : logi TRUE [07:32:57.642] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.642] | : . ' - attr(*, "where")=List of 1 [07:32:57.642] | : . ' ..$ ...: [07:32:57.642] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.642] | : . ' - attr(*, "resolved")= logi TRUE [07:32:57.642] | : . ' - attr(*, "total_size")= num NA [07:32:57.708] | : . Getting '...' globals ... done [07:32:57.708] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:57.708] | : . List of 2 [07:32:57.708] | : . $ ...future.FUN:function (a, b) [07:32:57.708] | : . $ ... :List of 1 [07:32:57.708] | : . ..$ b:Formal class 'classRepresentation' [package "methods"] with 11 slots [07:32:57.708] | : . .. .. ..@ slots :List of 4 [07:32:57.708] | : . .. .. .. ..$ .Data : chr "function" [07:32:57.708] | : . .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. ..$ target : chr "signature" [07:32:57.708] | : . .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. ..$ defined: chr "signature" [07:32:57.708] | : . .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. ..$ generic: chr "character" [07:32:57.708] | : . .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. ..@ contains :List of 4 [07:32:57.708] | : . .. .. .. ..$ function :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.708] | : . .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ superClass: chr "function" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.708] | : . .. .. .. .. .. ..@ test :function (object) [07:32:57.708] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.708] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.708] | : . .. .. .. .. .. ..@ by : chr(0) [07:32:57.708] | : . .. .. .. .. .. ..@ dataPart : logi TRUE [07:32:57.708] | : . .. .. .. .. .. ..@ distance : num 1 [07:32:57.708] | : . .. .. .. ..$ OptionalFunction:Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.708] | : . .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ superClass: chr "OptionalFunction" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.708] | : . .. .. .. .. .. ..@ test :function (object) [07:32:57.708] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.708] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.708] | : . .. .. .. .. .. ..@ by : chr "function" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.708] | : . .. .. .. .. .. ..@ distance : num 2 [07:32:57.708] | : . .. .. .. ..$ PossibleMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.708] | : . .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ superClass: chr "PossibleMethod" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.708] | : . .. .. .. .. .. ..@ test :function (object) [07:32:57.708] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.708] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.708] | : . .. .. .. .. .. ..@ by : chr "function" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.708] | : . .. .. .. .. .. ..@ distance : num 2 [07:32:57.708] | : . .. .. .. ..$ optionalMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.708] | : . .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ superClass: chr "optionalMethod" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.708] | : . .. .. .. .. .. ..@ test :function (object) [07:32:57.708] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.708] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.708] | : . .. .. .. .. .. ..@ by : chr "function" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.708] | : . .. .. .. .. .. ..@ distance : num 3 [07:32:57.708] | : . .. .. ..@ virtual : logi FALSE [07:32:57.708] | : . .. .. ..@ prototype :Formal class 'function' [package ""] with 0 slots [07:32:57.708] | : . list() [07:32:57.708] | : . .. .. .. .. ..$ target :Formal class 'signature' [package "methods"] with 3 slots [07:32:57.708] | : . .. .. .. .. .. .. ..@ .Data : chr(0) [07:32:57.708] | : . .. .. .. .. .. .. ..@ names : chr(0) [07:32:57.708] | : . .. .. .. .. .. .. ..@ package: chr(0) [07:32:57.708] | : . .. .. .. .. ..$ defined:Formal class 'signature' [package "methods"] with 3 slots [07:32:57.708] | : . .. .. .. .. .. .. ..@ .Data : chr(0) [07:32:57.708] | : . .. .. .. .. .. .. ..@ names : chr(0) [07:32:57.708] | : . .. .. .. .. .. .. ..@ package: chr(0) [07:32:57.708] | : . .. .. .. .. ..$ generic: chr(0) [07:32:57.708] | : . .. .. ..@ validity : NULL [07:32:57.708] | : . .. .. ..@ access : list() [07:32:57.708] | : . .. .. ..@ className : chr "MethodDefinition" [07:32:57.708] | : . .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. ..@ package : chr "methods" [07:32:57.708] | : . .. .. ..@ subclasses:List of 7 [07:32:57.708] | : . .. .. .. ..$ derivedDefaultMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.708] | : . .. .. .. .. .. ..@ subClass : chr "derivedDefaultMethod" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.708] | : . .. .. .. .. .. ..@ test :function (object) [07:32:57.708] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.708] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.708] | : . .. .. .. .. .. ..@ by : chr(0) [07:32:57.708] | : . .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.708] | : . .. .. .. .. .. ..@ distance : num 1 [07:32:57.708] | : . .. .. .. ..$ MethodWithNext :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.708] | : . .. .. .. .. .. ..@ subClass : chr "MethodWithNext" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.708] | : . .. .. .. .. .. ..@ test :function (object) [07:32:57.708] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.708] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.708] | : . .. .. .. .. .. ..@ by : chr(0) [07:32:57.708] | : . .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.708] | : . .. .. .. .. .. ..@ distance : num 1 [07:32:57.708] | : . .. .. .. ..$ SealedMethodDefinition :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.708] | : . .. .. .. .. .. ..@ subClass : chr "SealedMethodDefinition" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.708] | : . .. .. .. .. .. ..@ test :function (object) [07:32:57.708] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.708] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.708] | : . .. .. .. .. .. ..@ by : chr(0) [07:32:57.708] | : . .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.708] | : . .. .. .. .. .. ..@ distance : num 1 [07:32:57.708] | : . .. .. .. ..$ MethodDefinitionWithTrace :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.708] | : . .. .. .. .. .. ..@ subClass : chr "MethodDefinitionWithTrace" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.708] | : . .. .. .. .. .. ..@ test :function (object) [07:32:57.708] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.708] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.708] | : . .. .. .. .. .. ..@ by : chr(0) [07:32:57.708] | : . .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.708] | : . .. .. .. .. .. ..@ distance : num 1 [07:32:57.708] | : . .. .. .. ..$ internalDispatchMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.708] | : . .. .. .. .. .. ..@ subClass : chr "internalDispatchMethod" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.708] | : . .. .. .. .. .. ..@ test :function (object) [07:32:57.708] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.708] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.708] | : . .. .. .. .. .. ..@ by : chr "derivedDefaultMethod" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.708] | : . .. .. .. .. .. ..@ distance : num 2 [07:32:57.708] | : . .. .. .. ..$ MethodWithNextWithTrace :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.708] | : . .. .. .. .. .. ..@ subClass : chr "MethodWithNextWithTrace" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.708] | : . .. .. .. .. .. ..@ test :function (object) [07:32:57.708] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.708] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.708] | : . .. .. .. .. .. ..@ by : chr "MethodWithNext" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.708] | : . .. .. .. .. .. ..@ distance : num 2 [07:32:57.708] | : . .. .. .. ..$ derivedDefaultMethodWithTrace:Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.708] | : . .. .. .. .. .. ..@ subClass : chr "derivedDefaultMethodWithTrace" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.708] | : . .. .. .. .. .. ..@ test :function (object) [07:32:57.708] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.708] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.708] | : . .. .. .. .. .. ..@ by : chr "derivedDefaultMethod" [07:32:57.708] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.708] | : . .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.708] | : . .. .. .. .. .. ..@ distance : num 2 [07:32:57.708] | : . .. .. ..@ versionKey: [07:32:57.708] | : . .. .. ..@ sealed : logi TRUE [07:32:57.708] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.708] | : . - attr(*, "where")=List of 2 [07:32:57.708] | : . ..$ ...future.FUN: [07:32:57.708] | : . ..$ ... : [07:32:57.708] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.708] | : . - attr(*, "resolved")= logi FALSE [07:32:57.708] | : . - attr(*, "total_size")= num 106127 [07:32:57.774] | : . Packages to be attached in all futures: [n=0] [07:32:57.774] | : getGlobalsAndPackagesXApply() ... done [07:32:57.775] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.775] | : List of 5 [07:32:57.775] | : $ ...future.FUN :function (a, b) [07:32:57.775] | : $ ... :List of 1 [07:32:57.775] | : ..$ b:Formal class 'classRepresentation' [package "methods"] with 11 slots [07:32:57.775] | : .. .. ..@ slots :List of 4 [07:32:57.775] | : .. .. .. ..$ .Data : chr "function" [07:32:57.775] | : .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. ..$ target : chr "signature" [07:32:57.775] | : .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. ..$ defined: chr "signature" [07:32:57.775] | : .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. ..$ generic: chr "character" [07:32:57.775] | : .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. ..@ contains :List of 4 [07:32:57.775] | : .. .. .. ..$ function :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.775] | : .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ superClass: chr "function" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.775] | : .. .. .. .. .. ..@ test :function (object) [07:32:57.775] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.775] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.775] | : .. .. .. .. .. ..@ by : chr(0) [07:32:57.775] | : .. .. .. .. .. ..@ dataPart : logi TRUE [07:32:57.775] | : .. .. .. .. .. ..@ distance : num 1 [07:32:57.775] | : .. .. .. ..$ OptionalFunction:Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.775] | : .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ superClass: chr "OptionalFunction" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.775] | : .. .. .. .. .. ..@ test :function (object) [07:32:57.775] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.775] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.775] | : .. .. .. .. .. ..@ by : chr "function" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.775] | : .. .. .. .. .. ..@ distance : num 2 [07:32:57.775] | : .. .. .. ..$ PossibleMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.775] | : .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ superClass: chr "PossibleMethod" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.775] | : .. .. .. .. .. ..@ test :function (object) [07:32:57.775] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.775] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.775] | : .. .. .. .. .. ..@ by : chr "function" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.775] | : .. .. .. .. .. ..@ distance : num 2 [07:32:57.775] | : .. .. .. ..$ optionalMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.775] | : .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ superClass: chr "optionalMethod" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.775] | : .. .. .. .. .. ..@ test :function (object) [07:32:57.775] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.775] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.775] | : .. .. .. .. .. ..@ by : chr "function" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.775] | : .. .. .. .. .. ..@ distance : num 3 [07:32:57.775] | : .. .. ..@ virtual : logi FALSE [07:32:57.775] | : .. .. ..@ prototype :Formal class 'function' [package ""] with 0 slots [07:32:57.775] | : list() [07:32:57.775] | : .. .. .. .. ..$ target :Formal class 'signature' [package "methods"] with 3 slots [07:32:57.775] | : .. .. .. .. .. .. ..@ .Data : chr(0) [07:32:57.775] | : .. .. .. .. .. .. ..@ names : chr(0) [07:32:57.775] | : .. .. .. .. .. .. ..@ package: chr(0) [07:32:57.775] | : .. .. .. .. ..$ defined:Formal class 'signature' [package "methods"] with 3 slots [07:32:57.775] | : .. .. .. .. .. .. ..@ .Data : chr(0) [07:32:57.775] | : .. .. .. .. .. .. ..@ names : chr(0) [07:32:57.775] | : .. .. .. .. .. .. ..@ package: chr(0) [07:32:57.775] | : .. .. .. .. ..$ generic: chr(0) [07:32:57.775] | : .. .. ..@ validity : NULL [07:32:57.775] | : .. .. ..@ access : list() [07:32:57.775] | : .. .. ..@ className : chr "MethodDefinition" [07:32:57.775] | : .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. ..@ package : chr "methods" [07:32:57.775] | : .. .. ..@ subclasses:List of 7 [07:32:57.775] | : .. .. .. ..$ derivedDefaultMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.775] | : .. .. .. .. .. ..@ subClass : chr "derivedDefaultMethod" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.775] | : .. .. .. .. .. ..@ test :function (object) [07:32:57.775] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.775] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.775] | : .. .. .. .. .. ..@ by : chr(0) [07:32:57.775] | : .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.775] | : .. .. .. .. .. ..@ distance : num 1 [07:32:57.775] | : .. .. .. ..$ MethodWithNext :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.775] | : .. .. .. .. .. ..@ subClass : chr "MethodWithNext" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.775] | : .. .. .. .. .. ..@ test :function (object) [07:32:57.775] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.775] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.775] | : .. .. .. .. .. ..@ by : chr(0) [07:32:57.775] | : .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.775] | : .. .. .. .. .. ..@ distance : num 1 [07:32:57.775] | : .. .. .. ..$ SealedMethodDefinition :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.775] | : .. .. .. .. .. ..@ subClass : chr "SealedMethodDefinition" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.775] | : .. .. .. .. .. ..@ test :function (object) [07:32:57.775] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.775] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.775] | : .. .. .. .. .. ..@ by : chr(0) [07:32:57.775] | : .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.775] | : .. .. .. .. .. ..@ distance : num 1 [07:32:57.775] | : .. .. .. ..$ MethodDefinitionWithTrace :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.775] | : .. .. .. .. .. ..@ subClass : chr "MethodDefinitionWithTrace" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.775] | : .. .. .. .. .. ..@ test :function (object) [07:32:57.775] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.775] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.775] | : .. .. .. .. .. ..@ by : chr(0) [07:32:57.775] | : .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.775] | : .. .. .. .. .. ..@ distance : num 1 [07:32:57.775] | : .. .. .. ..$ internalDispatchMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.775] | : .. .. .. .. .. ..@ subClass : chr "internalDispatchMethod" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.775] | : .. .. .. .. .. ..@ test :function (object) [07:32:57.775] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.775] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.775] | : .. .. .. .. .. ..@ by : chr "derivedDefaultMethod" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.775] | : .. .. .. .. .. ..@ distance : num 2 [07:32:57.775] | : .. .. .. ..$ MethodWithNextWithTrace :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.775] | : .. .. .. .. .. ..@ subClass : chr "MethodWithNextWithTrace" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.775] | : .. .. .. .. .. ..@ test :function (object) [07:32:57.775] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.775] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.775] | : .. .. .. .. .. ..@ by : chr "MethodWithNext" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.775] | : .. .. .. .. .. ..@ distance : num 2 [07:32:57.775] | : .. .. .. ..$ derivedDefaultMethodWithTrace:Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:57.775] | : .. .. .. .. .. ..@ subClass : chr "derivedDefaultMethodWithTrace" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:57.775] | : .. .. .. .. .. ..@ test :function (object) [07:32:57.775] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:57.775] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:57.775] | : .. .. .. .. .. ..@ by : chr "derivedDefaultMethod" [07:32:57.775] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:57.775] | : .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:57.775] | : .. .. .. .. .. ..@ distance : num 2 [07:32:57.775] | : .. .. ..@ versionKey: [07:32:57.775] | : .. .. ..@ sealed : logi TRUE [07:32:57.775] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.775] | : $ ...future.elements_ii : NULL [07:32:57.775] | : $ ...future.seeds_ii : NULL [07:32:57.775] | : $ ...future.globals.maxSize: NULL [07:32:57.775] | : - attr(*, "where")=List of 5 [07:32:57.775] | : ..$ ...future.FUN : [07:32:57.775] | : ..$ ... : [07:32:57.775] | : ..$ ...future.elements_ii : [07:32:57.775] | : ..$ ...future.seeds_ii : [07:32:57.775] | : ..$ ...future.globals.maxSize: [07:32:57.775] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.775] | : - attr(*, "resolved")= logi FALSE [07:32:57.775] | : - attr(*, "total_size")= num 106127 [07:32:57.843] | : Number of futures (= number of chunks): 1 [07:32:57.843] | : Launching 1 futures (chunks) ... [07:32:57.843] | : Chunk #1 of 1 ... [07:32:57.843] | : - Finding globals in 'X' for chunk #1 ... [07:32:57.844] | : + additional globals found: [n=0] [07:32:57.844] | : + additional namespaces needed: [n=0] [07:32:57.844] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:57.844] | : - seeds: [07:32:57.844] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.850] | : Created future: [07:32:57.850] | : SequentialFuture: [07:32:57.850] | : Label: 'future_lapply-1' [07:32:57.850] | : Expression: [07:32:57.850] | : { [07:32:57.850] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:57.850] | : "# expression in do.call(), because function called uses '...' " [07:32:57.850] | : "# as a global variable " [07:32:57.850] | : do.call(function(...) { [07:32:57.850] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:57.850] | : "# without having an '...' argument. This means '...' is treated" [07:32:57.850] | : "# as a global variable. This may happen when FUN() is an " [07:32:57.850] | : "# anonymous function. " [07:32:57.850] | : "# " [07:32:57.850] | : "# If an anonymous function, we will make sure to restore the " [07:32:57.850] | : "# function environment of FUN() to the calling environment. " [07:32:57.850] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:57.850] | : "# global environment, which is where globals are written. " [07:32:57.850] | : penv <- env <- environment(...future.FUN) [07:32:57.850] | : repeat { [07:32:57.850] | : if (identical(env, globalenv()) || identical(env, [07:32:57.850] | : emptyenv())) [07:32:57.850] | : break [07:32:57.850] | : penv <- env [07:32:57.850] | : env <- parent.env(env) [07:32:57.850] | : } [07:32:57.850] | : if (identical(penv, globalenv())) { [07:32:57.850] | : environment(...future.FUN) <- environment() [07:32:57.850] | : } [07:32:57.850] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:57.850] | : !isNamespace(penv)) { [07:32:57.850] | : parent.env(penv) <- environment() [07:32:57.850] | : } [07:32:57.850] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:57.850] | : { [07:32:57.850] | : "# future.apply:::future_xapply(): preserve future option" [07:32:57.850] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:57.850] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:57.850] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:57.850] | : on.exit(options(oopts), add = TRUE) [07:32:57.850] | : } [07:32:57.850] | : { [07:32:57.850] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:57.850] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:57.850] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:57.850] | : { [07:32:57.850] | : ...future.FUN(...future.X_jj, ...) [07:32:57.850] | : } [07:32:57.850] | : }) [07:32:57.850] | : } [07:32:57.850] | : } [07:32:57.850] | : }, args = future.call.arguments) [07:32:57.850] | : } [07:32:57.850] | : Globals: 5 objects totaling 103.91 KiB (DotDotDotList 'future.call.arguments' of 50.30 KiB, function '...future.FUN' of 332 bytes, list '...future.elements_ii' of 43 bytes, NULL '...future.seeds_ii' of 27 bytes, NULL '...future.globals.maxSize' of 27 bytes) [07:32:57.850] | : Packages: [07:32:57.850] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:57.850] | : Capture standard output: TRUE [07:32:57.850] | : Capture condition classes: 'condition' (excluding '') [07:32:57.850] | : Immediate condition classes: 'immediateCondition' [07:32:57.850] | : Lazy evaluation: FALSE [07:32:57.850] | : Local evaluation: TRUE [07:32:57.850] | : Asynchronous evaluation: TRUE [07:32:57.850] | : Early signaling: FALSE [07:32:57.850] | : Environment: R_GlobalEnv [07:32:57.850] | : State: 'finished' [07:32:57.850] | : Resolved: TRUE [07:32:57.850] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-12 [07:32:57.850] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.850] | : Class: 'SequentialFuture', 'UniprocessFuture', 'Future' [07:32:57.850] | : Value: 49 bytes of class 'list' [07:32:57.850] | : Duration: 0.003045082 secs (started 2025-12-09 07:32:57.845985) [07:32:57.850] | : Worker process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.853] | : Chunk #1 of 1 ... DONE [07:32:57.853] | : Launching 1 futures (chunks) ... DONE [07:32:57.853] | : Resolving 1 futures (chunks) ... [07:32:57.854] | : - Number of value chunks collected: 1 [07:32:57.854] | : Resolving 1 futures (chunks) ... DONE [07:32:57.854] | : Reducing values from 1 chunks ... [07:32:57.854] | : - Number of values collected after concatenation: 1 [07:32:57.854] | : - Number of values expected: 1 [07:32:57.854] | : Reducing values from 1 chunks ... DONE [07:32:57.855] | future_lapply() -> future_xapply() ... done [07:32:57.855] future_lapply() ... done - future_lapply(X, ...) - 'X' containing globals ... List of 4 $ : num 84 $ : num 10.5 $ : num 63 $ : int 11 [07:32:57.857] future_lapply() ... [07:32:57.858] | Globals in FUN(): [n=0] [07:32:57.858] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:57.858] | future_lapply() -> future_xapply() ... [07:32:57.859] | : Number of chunks: 1 [07:32:57.859] | : getGlobalsAndPackagesXApply() ... [07:32:57.859] | : . future.globals: TRUE [07:32:57.863] | : . globals found/used: [n=1] 'FUN' [07:32:57.863] | : . needed namespaces: [n=0] [07:32:57.863] | : . use_args: TRUE [07:32:57.864] | : . Getting '...' globals ... [07:32:57.864] | : . ' '...' content: [n=0] [07:32:57.864] | : . ' List of 1 [07:32:57.864] | : . ' $ ...: list() [07:32:57.864] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.864] | : . ' - attr(*, "where")=List of 1 [07:32:57.864] | : . ' ..$ ...: [07:32:57.864] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.864] | : . ' - attr(*, "resolved")= logi TRUE [07:32:57.864] | : . ' - attr(*, "total_size")= num NA [07:32:57.867] | : . Getting '...' globals ... done [07:32:57.867] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:57.868] | : . List of 2 [07:32:57.868] | : . $ ...future.FUN:function (f) [07:32:57.868] | : . $ ... : list() [07:32:57.868] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.868] | : . - attr(*, "where")=List of 2 [07:32:57.868] | : . ..$ ...future.FUN: [07:32:57.868] | : . ..$ ... : [07:32:57.868] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.868] | : . - attr(*, "resolved")= logi FALSE [07:32:57.868] | : . - attr(*, "total_size")= num 5165 [07:32:57.871] | : . Packages to be attached in all futures: [n=0] [07:32:57.871] | : getGlobalsAndPackagesXApply() ... done [07:32:57.871] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.872] | : List of 5 [07:32:57.872] | : $ ...future.FUN :function (f) [07:32:57.872] | : $ ... : list() [07:32:57.872] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.872] | : $ ...future.elements_ii : NULL [07:32:57.872] | : $ ...future.seeds_ii : NULL [07:32:57.872] | : $ ...future.globals.maxSize: NULL [07:32:57.872] | : - attr(*, "where")=List of 5 [07:32:57.872] | : ..$ ...future.FUN : [07:32:57.872] | : ..$ ... : [07:32:57.872] | : ..$ ...future.elements_ii : [07:32:57.872] | : ..$ ...future.seeds_ii : [07:32:57.872] | : ..$ ...future.globals.maxSize: [07:32:57.872] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.872] | : - attr(*, "resolved")= logi FALSE [07:32:57.872] | : - attr(*, "total_size")= num 5165 [07:32:57.876] | : Number of futures (= number of chunks): 1 [07:32:57.877] | : Launching 1 futures (chunks) ... [07:32:57.877] | : Chunk #1 of 1 ... [07:32:57.877] | : - Finding globals in 'X' for chunk #1 ... [07:32:57.903] | : + additional globals found: [n=2] 'a', 'b' [07:32:57.903] | : + additional namespaces needed: [n=1] 'tools' [07:32:57.903] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:57.904] | : - seeds: [07:32:57.904] | : - All globals exported: [n=7] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize', 'a', 'b' [07:32:57.909] | : Created future: [07:32:57.910] | : SequentialFuture: [07:32:57.910] | : Label: 'future_lapply-1' [07:32:57.910] | : Expression: [07:32:57.910] | : { [07:32:57.910] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:57.910] | : "# expression in do.call(), because function called uses '...' " [07:32:57.910] | : "# as a global variable " [07:32:57.910] | : do.call(function(...) { [07:32:57.910] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:57.910] | : "# without having an '...' argument. This means '...' is treated" [07:32:57.910] | : "# as a global variable. This may happen when FUN() is an " [07:32:57.910] | : "# anonymous function. " [07:32:57.910] | : "# " [07:32:57.910] | : "# If an anonymous function, we will make sure to restore the " [07:32:57.910] | : "# function environment of FUN() to the calling environment. " [07:32:57.910] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:57.910] | : "# global environment, which is where globals are written. " [07:32:57.910] | : penv <- env <- environment(...future.FUN) [07:32:57.910] | : repeat { [07:32:57.910] | : if (identical(env, globalenv()) || identical(env, [07:32:57.910] | : emptyenv())) [07:32:57.910] | : break [07:32:57.910] | : penv <- env [07:32:57.910] | : env <- parent.env(env) [07:32:57.910] | : } [07:32:57.910] | : if (identical(penv, globalenv())) { [07:32:57.910] | : environment(...future.FUN) <- environment() [07:32:57.910] | : } [07:32:57.910] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:57.910] | : !isNamespace(penv)) { [07:32:57.910] | : parent.env(penv) <- environment() [07:32:57.910] | : } [07:32:57.910] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:57.910] | : { [07:32:57.910] | : "# future.apply:::future_xapply(): preserve future option" [07:32:57.910] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:57.910] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:57.910] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:57.910] | : on.exit(options(oopts), add = TRUE) [07:32:57.910] | : } [07:32:57.910] | : { [07:32:57.910] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:57.910] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:57.910] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:57.910] | : { [07:32:57.910] | : ...future.FUN(...future.X_jj, ...) [07:32:57.910] | : } [07:32:57.910] | : }) [07:32:57.910] | : } [07:32:57.910] | : } [07:32:57.910] | : }, args = future.call.arguments) [07:32:57.910] | : } [07:32:57.910] | : Globals: 7 objects totaling 6.68 KiB (list '...future.elements_ii' of 1.40 KiB, function '...future.FUN' of 225 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric 'a' of 39 bytes, numeric 'b' of 39 bytes, ...) [07:32:57.910] | : Packages: 1 packages ('tools') [07:32:57.910] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:57.910] | : Capture standard output: TRUE [07:32:57.910] | : Capture condition classes: 'condition' (excluding '') [07:32:57.910] | : Immediate condition classes: 'immediateCondition' [07:32:57.910] | : Lazy evaluation: FALSE [07:32:57.910] | : Local evaluation: TRUE [07:32:57.910] | : Asynchronous evaluation: TRUE [07:32:57.910] | : Early signaling: FALSE [07:32:57.910] | : Environment: R_GlobalEnv [07:32:57.910] | : State: 'finished' [07:32:57.910] | : Resolved: TRUE [07:32:57.910] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-13 [07:32:57.910] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.910] | : Class: 'SequentialFuture', 'UniprocessFuture', 'Future' [07:32:57.910] | : Value: 91 bytes of class 'list' [07:32:57.910] | : Duration: 0.003419876 secs (started 2025-12-09 07:32:57.905256) [07:32:57.910] | : Worker process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.912] | : Chunk #1 of 1 ... DONE [07:32:57.912] | : Launching 1 futures (chunks) ... DONE [07:32:57.912] | : Resolving 1 futures (chunks) ... [07:32:57.913] | : - Number of value chunks collected: 1 [07:32:57.913] | : Resolving 1 futures (chunks) ... DONE [07:32:57.913] | : Reducing values from 1 chunks ... [07:32:57.913] | : - Number of values collected after concatenation: 4 [07:32:57.913] | : - Number of values expected: 4 [07:32:57.913] | : Reducing values from 1 chunks ... DONE [07:32:57.914] | future_lapply() -> future_xapply() ... done [07:32:57.914] future_lapply() ... done List of 4 $ : num 84 $ : num 10.5 $ : num 63 $ : int 11 - future_lapply(X, ...) - '{ a <- a + 1; a }' ... [07:32:57.916] future_lapply() ... [07:32:57.917] | Globals in FUN(): [n=4] '{', '<-', 'a', '+' [07:32:57.917] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:57.917] | future_lapply() -> future_xapply() ... [07:32:57.917] | : Number of chunks: 1 [07:32:57.918] | : getGlobalsAndPackagesXApply() ... [07:32:57.918] | : . future.globals: TRUE [07:32:57.927] | : . globals found/used: [n=2] 'FUN', 'a' [07:32:57.927] | : . needed namespaces: [n=0] [07:32:57.927] | : . use_args: TRUE [07:32:57.927] | : . Getting '...' globals ... [07:32:57.928] | : . ' '...' content: [n=0] [07:32:57.928] | : . ' List of 1 [07:32:57.928] | : . ' $ ...: list() [07:32:57.928] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.928] | : . ' - attr(*, "where")=List of 1 [07:32:57.928] | : . ' ..$ ...: [07:32:57.928] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.928] | : . ' - attr(*, "resolved")= logi TRUE [07:32:57.928] | : . ' - attr(*, "total_size")= num NA [07:32:57.931] | : . Getting '...' globals ... done [07:32:57.931] | : . Globals to be used in all futures (chunks): [n=3] '...future.FUN', 'a', '...' [07:32:57.931] | : . List of 3 [07:32:57.931] | : . $ ...future.FUN:function (ii) [07:32:57.931] | : . $ a : num 1 [07:32:57.931] | : . $ ... : list() [07:32:57.931] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.931] | : . - attr(*, "where")=List of 3 [07:32:57.931] | : . ..$ ...future.FUN: [07:32:57.931] | : . ..$ a : [07:32:57.931] | : . ..$ ... : [07:32:57.931] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.931] | : . - attr(*, "resolved")= logi FALSE [07:32:57.931] | : . - attr(*, "total_size")= num 4124 [07:32:57.935] | : . Packages to be attached in all futures: [n=0] [07:32:57.935] | : getGlobalsAndPackagesXApply() ... done [07:32:57.936] | : Globals pass to each chunk: [n=6] '...future.FUN', 'a', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.936] | : List of 6 [07:32:57.936] | : $ ...future.FUN :function (ii) [07:32:57.936] | : $ a : num 1 [07:32:57.936] | : $ ... : list() [07:32:57.936] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.936] | : $ ...future.elements_ii : NULL [07:32:57.936] | : $ ...future.seeds_ii : NULL [07:32:57.936] | : $ ...future.globals.maxSize: NULL [07:32:57.936] | : - attr(*, "where")=List of 6 [07:32:57.936] | : ..$ ...future.FUN : [07:32:57.936] | : ..$ a : [07:32:57.936] | : ..$ ... : [07:32:57.936] | : ..$ ...future.elements_ii : [07:32:57.936] | : ..$ ...future.seeds_ii : [07:32:57.936] | : ..$ ...future.globals.maxSize: [07:32:57.936] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.936] | : - attr(*, "resolved")= logi FALSE [07:32:57.936] | : - attr(*, "total_size")= num 4124 [07:32:57.942] | : Number of futures (= number of chunks): 1 [07:32:57.942] | : Launching 1 futures (chunks) ... [07:32:57.942] | : Chunk #1 of 1 ... [07:32:57.942] | : - Finding globals in 'X' for chunk #1 ... [07:32:57.943] | : + additional globals found: [n=0] [07:32:57.943] | : + additional namespaces needed: [n=0] [07:32:57.943] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:57.943] | : - seeds: [07:32:57.943] | : - All globals exported: [n=6] '...future.FUN', 'a', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.948] | : Created future: [07:32:57.949] | : SequentialFuture: [07:32:57.949] | : Label: 'future_lapply-1' [07:32:57.949] | : Expression: [07:32:57.949] | : { [07:32:57.949] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:57.949] | : "# expression in do.call(), because function called uses '...' " [07:32:57.949] | : "# as a global variable " [07:32:57.949] | : do.call(function(...) { [07:32:57.949] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:57.949] | : "# without having an '...' argument. This means '...' is treated" [07:32:57.949] | : "# as a global variable. This may happen when FUN() is an " [07:32:57.949] | : "# anonymous function. " [07:32:57.949] | : "# " [07:32:57.949] | : "# If an anonymous function, we will make sure to restore the " [07:32:57.949] | : "# function environment of FUN() to the calling environment. " [07:32:57.949] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:57.949] | : "# global environment, which is where globals are written. " [07:32:57.949] | : penv <- env <- environment(...future.FUN) [07:32:57.949] | : repeat { [07:32:57.949] | : if (identical(env, globalenv()) || identical(env, [07:32:57.949] | : emptyenv())) [07:32:57.949] | : break [07:32:57.949] | : penv <- env [07:32:57.949] | : env <- parent.env(env) [07:32:57.949] | : } [07:32:57.949] | : if (identical(penv, globalenv())) { [07:32:57.949] | : environment(...future.FUN) <- environment() [07:32:57.949] | : } [07:32:57.949] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:57.949] | : !isNamespace(penv)) { [07:32:57.949] | : parent.env(penv) <- environment() [07:32:57.949] | : } [07:32:57.949] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:57.949] | : { [07:32:57.949] | : "# future.apply:::future_xapply(): preserve future option" [07:32:57.949] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:57.949] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:57.949] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:57.949] | : on.exit(options(oopts), add = TRUE) [07:32:57.949] | : } [07:32:57.949] | : { [07:32:57.949] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:57.949] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:57.949] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:57.949] | : { [07:32:57.949] | : ...future.FUN(...future.X_jj, ...) [07:32:57.949] | : } [07:32:57.949] | : }) [07:32:57.949] | : } [07:32:57.949] | : } [07:32:57.949] | : }, args = future.call.arguments) [07:32:57.949] | : } [07:32:57.949] | : Globals: 6 objects totaling 4.29 KiB (function '...future.FUN' of 511 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, list '...future.elements_ii' of 47 bytes, numeric 'a' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes, ...) [07:32:57.949] | : Packages: [07:32:57.949] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:57.949] | : Capture standard output: TRUE [07:32:57.949] | : Capture condition classes: 'condition' (excluding '') [07:32:57.949] | : Immediate condition classes: 'immediateCondition' [07:32:57.949] | : Lazy evaluation: FALSE [07:32:57.949] | : Local evaluation: TRUE [07:32:57.949] | : Asynchronous evaluation: TRUE [07:32:57.949] | : Early signaling: FALSE [07:32:57.949] | : Environment: R_GlobalEnv [07:32:57.949] | : State: 'finished' [07:32:57.949] | : Resolved: TRUE [07:32:57.949] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-14 [07:32:57.949] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.949] | : Class: 'SequentialFuture', 'UniprocessFuture', 'Future' [07:32:57.949] | : Value: 47 bytes of class 'list' [07:32:57.949] | : Duration: 0.002953053 secs (started 2025-12-09 07:32:57.944757) [07:32:57.949] | : Worker process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.951] | : Chunk #1 of 1 ... DONE [07:32:57.951] | : Launching 1 futures (chunks) ... DONE [07:32:57.951] | : Resolving 1 futures (chunks) ... [07:32:57.952] | : - Number of value chunks collected: 1 [07:32:57.952] | : Resolving 1 futures (chunks) ... DONE [07:32:57.952] | : Reducing values from 1 chunks ... [07:32:57.952] | : - Number of values collected after concatenation: 1 [07:32:57.952] | : - Number of values expected: 1 [07:32:57.952] | : Reducing values from 1 chunks ... DONE [07:32:57.953] | future_lapply() -> future_xapply() ... done [07:32:57.953] future_lapply() ... done - future_lapply(X, ...) - '{ a; a <- a + 1 }' ... [07:32:57.953] future_lapply() ... [07:32:57.954] | Globals in FUN(): [n=4] '{', 'a', '<-', '+' [07:32:57.954] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:57.955] | future_lapply() -> future_xapply() ... [07:32:57.955] | : Number of chunks: 1 [07:32:57.955] | : getGlobalsAndPackagesXApply() ... [07:32:57.955] | : . future.globals: TRUE [07:32:57.965] | : . globals found/used: [n=2] 'FUN', 'a' [07:32:57.966] | : . needed namespaces: [n=0] [07:32:57.966] | : . use_args: TRUE [07:32:57.966] | : . Getting '...' globals ... [07:32:57.966] | : . ' '...' content: [n=0] [07:32:57.967] | : . ' List of 1 [07:32:57.967] | : . ' $ ...: list() [07:32:57.967] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.967] | : . ' - attr(*, "where")=List of 1 [07:32:57.967] | : . ' ..$ ...: [07:32:57.967] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.967] | : . ' - attr(*, "resolved")= logi TRUE [07:32:57.967] | : . ' - attr(*, "total_size")= num NA [07:32:57.970] | : . Getting '...' globals ... done [07:32:57.970] | : . Globals to be used in all futures (chunks): [n=3] '...future.FUN', 'a', '...' [07:32:57.970] | : . List of 3 [07:32:57.970] | : . $ ...future.FUN:function (ii) [07:32:57.970] | : . $ a : num 1 [07:32:57.970] | : . $ ... : list() [07:32:57.970] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.970] | : . - attr(*, "where")=List of 3 [07:32:57.970] | : . ..$ ...future.FUN: [07:32:57.970] | : . ..$ a : [07:32:57.970] | : . ..$ ... : [07:32:57.970] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.970] | : . - attr(*, "resolved")= logi FALSE [07:32:57.970] | : . - attr(*, "total_size")= num 4140 [07:32:57.974] | : . Packages to be attached in all futures: [n=0] [07:32:57.974] | : getGlobalsAndPackagesXApply() ... done [07:32:57.974] | : Globals pass to each chunk: [n=6] '...future.FUN', 'a', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.975] | : List of 6 [07:32:57.975] | : $ ...future.FUN :function (ii) [07:32:57.975] | : $ a : num 1 [07:32:57.975] | : $ ... : list() [07:32:57.975] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.975] | : $ ...future.elements_ii : NULL [07:32:57.975] | : $ ...future.seeds_ii : NULL [07:32:57.975] | : $ ...future.globals.maxSize: NULL [07:32:57.975] | : - attr(*, "where")=List of 6 [07:32:57.975] | : ..$ ...future.FUN : [07:32:57.975] | : ..$ a : [07:32:57.975] | : ..$ ... : [07:32:57.975] | : ..$ ...future.elements_ii : [07:32:57.975] | : ..$ ...future.seeds_ii : [07:32:57.975] | : ..$ ...future.globals.maxSize: [07:32:57.975] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.975] | : - attr(*, "resolved")= logi FALSE [07:32:57.975] | : - attr(*, "total_size")= num 4140 [07:32:57.980] | : Number of futures (= number of chunks): 1 [07:32:57.980] | : Launching 1 futures (chunks) ... [07:32:57.981] | : Chunk #1 of 1 ... [07:32:57.981] | : - Finding globals in 'X' for chunk #1 ... [07:32:57.981] | : + additional globals found: [n=0] [07:32:57.981] | : + additional namespaces needed: [n=0] [07:32:57.982] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:57.982] | : - seeds: [07:32:57.982] | : - All globals exported: [n=6] '...future.FUN', 'a', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:57.987] | : Created future: [07:32:57.987] | : SequentialFuture: [07:32:57.987] | : Label: 'future_lapply-1' [07:32:57.987] | : Expression: [07:32:57.987] | : { [07:32:57.987] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:57.987] | : "# expression in do.call(), because function called uses '...' " [07:32:57.987] | : "# as a global variable " [07:32:57.987] | : do.call(function(...) { [07:32:57.987] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:57.987] | : "# without having an '...' argument. This means '...' is treated" [07:32:57.987] | : "# as a global variable. This may happen when FUN() is an " [07:32:57.987] | : "# anonymous function. " [07:32:57.987] | : "# " [07:32:57.987] | : "# If an anonymous function, we will make sure to restore the " [07:32:57.987] | : "# function environment of FUN() to the calling environment. " [07:32:57.987] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:57.987] | : "# global environment, which is where globals are written. " [07:32:57.987] | : penv <- env <- environment(...future.FUN) [07:32:57.987] | : repeat { [07:32:57.987] | : if (identical(env, globalenv()) || identical(env, [07:32:57.987] | : emptyenv())) [07:32:57.987] | : break [07:32:57.987] | : penv <- env [07:32:57.987] | : env <- parent.env(env) [07:32:57.987] | : } [07:32:57.987] | : if (identical(penv, globalenv())) { [07:32:57.987] | : environment(...future.FUN) <- environment() [07:32:57.987] | : } [07:32:57.987] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:57.987] | : !isNamespace(penv)) { [07:32:57.987] | : parent.env(penv) <- environment() [07:32:57.987] | : } [07:32:57.987] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:57.987] | : { [07:32:57.987] | : "# future.apply:::future_xapply(): preserve future option" [07:32:57.987] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:57.987] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:57.987] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:57.987] | : on.exit(options(oopts), add = TRUE) [07:32:57.987] | : } [07:32:57.987] | : { [07:32:57.987] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:57.987] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:57.987] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:57.987] | : { [07:32:57.987] | : ...future.FUN(...future.X_jj, ...) [07:32:57.987] | : } [07:32:57.987] | : }) [07:32:57.987] | : } [07:32:57.987] | : } [07:32:57.987] | : }, args = future.call.arguments) [07:32:57.987] | : } [07:32:57.987] | : Globals: 6 objects totaling 4.30 KiB (function '...future.FUN' of 519 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, list '...future.elements_ii' of 47 bytes, numeric 'a' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes, ...) [07:32:57.987] | : Packages: [07:32:57.987] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:57.987] | : Capture standard output: TRUE [07:32:57.987] | : Capture condition classes: 'condition' (excluding '') [07:32:57.987] | : Immediate condition classes: 'immediateCondition' [07:32:57.987] | : Lazy evaluation: FALSE [07:32:57.987] | : Local evaluation: TRUE [07:32:57.987] | : Asynchronous evaluation: TRUE [07:32:57.987] | : Early signaling: FALSE [07:32:57.987] | : Environment: R_GlobalEnv [07:32:57.987] | : State: 'finished' [07:32:57.987] | : Resolved: TRUE [07:32:57.987] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-15 [07:32:57.987] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.987] | : Class: 'SequentialFuture', 'UniprocessFuture', 'Future' [07:32:57.987] | : Value: 47 bytes of class 'list' [07:32:57.987] | : Duration: 0.002892017 secs (started 2025-12-09 07:32:57.983391) [07:32:57.987] | : Worker process: 4c76da8a37caa41bd729c56e358b719d [07:32:57.989] | : Chunk #1 of 1 ... DONE [07:32:57.989] | : Launching 1 futures (chunks) ... DONE [07:32:57.989] | : Resolving 1 futures (chunks) ... [07:32:57.990] | : - Number of value chunks collected: 1 [07:32:57.990] | : Resolving 1 futures (chunks) ... DONE [07:32:57.990] | : Reducing values from 1 chunks ... [07:32:57.990] | : - Number of values collected after concatenation: 1 [07:32:57.991] | : - Number of values expected: 1 [07:32:57.991] | : Reducing values from 1 chunks ... DONE [07:32:57.991] | future_lapply() -> future_xapply() ... done [07:32:57.991] future_lapply() ... done - future_lapply(..., future.globals = ) ... [07:32:57.991] future_lapply() ... [07:32:57.992] | Globals in FUN(): [n=1] 'a' [07:32:57.992] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:57.992] | future_lapply() -> future_xapply() ... [07:32:57.992] | : Number of chunks: 1 [07:32:57.993] | : getGlobalsAndPackagesXApply() ... [07:32:57.993] | : . future.globals: with names 'a' [07:32:57.993] | : . use_args: TRUE [07:32:57.993] | : . Getting '...' globals ... [07:32:57.994] | : . ' '...' content: [n=0] [07:32:57.994] | : . ' List of 1 [07:32:57.994] | : . ' $ ...: list() [07:32:57.994] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.994] | : . ' - attr(*, "where")=List of 1 [07:32:57.994] | : . ' ..$ ...: [07:32:57.994] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.994] | : . ' - attr(*, "resolved")= logi TRUE [07:32:57.994] | : . ' - attr(*, "total_size")= num NA [07:32:57.997] | : . Getting '...' globals ... done [07:32:57.997] | : . Globals to be used in all futures (chunks): [n=3] 'a', '...future.FUN', '...' [07:32:57.997] | : . List of 3 [07:32:57.997] | : . $ a : num 42 [07:32:57.997] | : . $ ...future.FUN:function (x) [07:32:57.997] | : . $ ... : list() [07:32:57.997] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:57.997] | : . - attr(*, "where")=List of 3 [07:32:57.997] | : . ..$ a : [07:32:57.997] | : . ..$ ...future.FUN: [07:32:57.997] | : . ..$ ... : [07:32:57.997] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:57.997] | : . - attr(*, "resolved")= logi FALSE [07:32:57.997] | : . - attr(*, "total_size")= num NA [07:32:58.001] | : . Packages to be attached in all futures: [n=0] [07:32:58.002] | : getGlobalsAndPackagesXApply() ... done [07:32:58.002] | : Globals pass to each chunk: [n=6] 'a', '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:58.002] | : List of 6 [07:32:58.002] | : $ a : num 42 [07:32:58.002] | : $ ...future.FUN :function (x) [07:32:58.002] | : $ ... : list() [07:32:58.002] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.002] | : $ ...future.elements_ii : NULL [07:32:58.002] | : $ ...future.seeds_ii : NULL [07:32:58.002] | : $ ...future.globals.maxSize: NULL [07:32:58.002] | : - attr(*, "where")=List of 6 [07:32:58.002] | : ..$ a : [07:32:58.002] | : ..$ ...future.FUN : [07:32:58.002] | : ..$ ... : [07:32:58.002] | : ..$ ...future.elements_ii : [07:32:58.002] | : ..$ ...future.seeds_ii : [07:32:58.002] | : ..$ ...future.globals.maxSize: [07:32:58.002] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.002] | : - attr(*, "resolved")= logi FALSE [07:32:58.002] | : - attr(*, "total_size")= num NA [07:32:58.008] | : Number of futures (= number of chunks): 1 [07:32:58.008] | : Launching 1 futures (chunks) ... [07:32:58.008] | : Chunk #1 of 1 ... [07:32:58.008] | : - seeds: [07:32:58.008] | : - All globals exported: [n=6] 'a', '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:58.013] | : Created future: [07:32:58.014] | : SequentialFuture: [07:32:58.014] | : Label: 'future_lapply-1' [07:32:58.014] | : Expression: [07:32:58.014] | : { [07:32:58.014] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:58.014] | : "# expression in do.call(), because function called uses '...' " [07:32:58.014] | : "# as a global variable " [07:32:58.014] | : do.call(function(...) { [07:32:58.014] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:58.014] | : "# without having an '...' argument. This means '...' is treated" [07:32:58.014] | : "# as a global variable. This may happen when FUN() is an " [07:32:58.014] | : "# anonymous function. " [07:32:58.014] | : "# " [07:32:58.014] | : "# If an anonymous function, we will make sure to restore the " [07:32:58.014] | : "# function environment of FUN() to the calling environment. " [07:32:58.014] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:58.014] | : "# global environment, which is where globals are written. " [07:32:58.014] | : penv <- env <- environment(...future.FUN) [07:32:58.014] | : repeat { [07:32:58.014] | : if (identical(env, globalenv()) || identical(env, [07:32:58.014] | : emptyenv())) [07:32:58.014] | : break [07:32:58.014] | : penv <- env [07:32:58.014] | : env <- parent.env(env) [07:32:58.014] | : } [07:32:58.014] | : if (identical(penv, globalenv())) { [07:32:58.014] | : environment(...future.FUN) <- environment() [07:32:58.014] | : } [07:32:58.014] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:58.014] | : !isNamespace(penv)) { [07:32:58.014] | : parent.env(penv) <- environment() [07:32:58.014] | : } [07:32:58.014] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:58.014] | : { [07:32:58.014] | : "# future.apply:::future_xapply(): preserve future option" [07:32:58.014] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:58.014] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:58.014] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:58.014] | : on.exit(options(oopts), add = TRUE) [07:32:58.014] | : } [07:32:58.014] | : { [07:32:58.014] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:58.014] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:58.014] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:58.014] | : { [07:32:58.014] | : ...future.FUN(...future.X_jj, ...) [07:32:58.014] | : } [07:32:58.014] | : }) [07:32:58.014] | : } [07:32:58.014] | : } [07:32:58.014] | : }, args = future.call.arguments) [07:32:58.014] | : } [07:32:58.014] | : Globals: 6 objects totaling 4.16 KiB (function '...future.FUN' of 298 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, list '...future.elements_ii' of 47 bytes, numeric 'a' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes, ...) [07:32:58.014] | : Packages: [07:32:58.014] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:58.014] | : Capture standard output: TRUE [07:32:58.014] | : Capture condition classes: 'condition' (excluding '') [07:32:58.014] | : Immediate condition classes: 'immediateCondition' [07:32:58.014] | : Lazy evaluation: FALSE [07:32:58.014] | : Local evaluation: TRUE [07:32:58.014] | : Asynchronous evaluation: TRUE [07:32:58.014] | : Early signaling: FALSE [07:32:58.014] | : Environment: R_GlobalEnv [07:32:58.014] | : State: 'finished' [07:32:58.014] | : Resolved: TRUE [07:32:58.014] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-16 [07:32:58.014] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:58.014] | : Class: 'SequentialFuture', 'UniprocessFuture', 'Future' [07:32:58.014] | : Value: 47 bytes of class 'list' [07:32:58.014] | : Duration: 0.002921104 secs (started 2025-12-09 07:32:58.009853) [07:32:58.014] | : Worker process: 4c76da8a37caa41bd729c56e358b719d [07:32:58.016] | : Chunk #1 of 1 ... DONE [07:32:58.016] | : Launching 1 futures (chunks) ... DONE [07:32:58.016] | : Resolving 1 futures (chunks) ... [07:32:58.016] | : - Number of value chunks collected: 1 [07:32:58.017] | : Resolving 1 futures (chunks) ... DONE [07:32:58.017] | : Reducing values from 1 chunks ... [07:32:58.017] | : - Number of values collected after concatenation: 1 [07:32:58.017] | : - Number of values expected: 1 [07:32:58.017] | : Reducing values from 1 chunks ... DONE [07:32:58.017] | future_lapply() -> future_xapply() ... done [07:32:58.018] future_lapply() ... done List of 1 $ : num 42 [07:32:58.344] future_lapply() ... [07:32:58.346] | Globals in FUN(): [n=7] '{', 'do.call', 'caller', 'c', 'list', '+', 'args' [07:32:58.346] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:58.346] | future_lapply() -> future_xapply() ... [07:32:58.348] | : Number of chunks: 2 [07:32:58.348] | : getGlobalsAndPackagesXApply() ... [07:32:58.348] | : . future.globals: TRUE [07:32:58.375] | : . globals found/used: [n=5] 'FUN', 'caller', 'args', 'call_my_add', 'my_add' [07:32:58.375] | : . needed namespaces: [n=0] [07:32:58.375] | : . use_args: TRUE [07:32:58.376] | : . Getting '...' globals ... [07:32:58.376] | : . ' '...' content: [n=0] [07:32:58.376] | : . ' List of 1 [07:32:58.376] | : . ' $ ...: list() [07:32:58.376] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.376] | : . ' - attr(*, "where")=List of 1 [07:32:58.376] | : . ' ..$ ...: [07:32:58.376] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.376] | : . ' - attr(*, "resolved")= logi TRUE [07:32:58.376] | : . ' - attr(*, "total_size")= num NA [07:32:58.379] | : . Getting '...' globals ... done [07:32:58.380] | : . Globals to be used in all futures (chunks): [n=6] '...future.FUN', 'caller', 'args', 'call_my_add', 'my_add', '...' [07:32:58.380] | : . List of 6 [07:32:58.380] | : . $ ...future.FUN:function (i) [07:32:58.380] | : . $ caller :function (a, b, FUN = call_my_add) [07:32:58.380] | : . $ args :List of 1 [07:32:58.380] | : . ..$ FUN:function (a, b) [07:32:58.380] | : . $ call_my_add :function (a, b) [07:32:58.380] | : . $ my_add :function (a, b) [07:32:58.380] | : . $ ... : list() [07:32:58.380] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.380] | : . - attr(*, "where")=List of 6 [07:32:58.380] | : . ..$ ...future.FUN: [07:32:58.380] | : . ..$ caller : [07:32:58.380] | : . ..$ args : [07:32:58.380] | : . ..$ call_my_add : [07:32:58.380] | : . ..$ my_add : [07:32:58.380] | : . ..$ ... : [07:32:58.380] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.380] | : . - attr(*, "resolved")= logi FALSE [07:32:58.380] | : . - attr(*, "total_size")= num 13245 [07:32:58.388] | : . Packages to be attached in all futures: [n=0] [07:32:58.389] | : getGlobalsAndPackagesXApply() ... done [07:32:58.389] | : Globals pass to each chunk: [n=9] '...future.FUN', 'caller', 'args', 'call_my_add', 'my_add', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:58.389] | : List of 9 [07:32:58.389] | : $ ...future.FUN :function (i) [07:32:58.389] | : $ caller :function (a, b, FUN = call_my_add) [07:32:58.389] | : $ args :List of 1 [07:32:58.389] | : ..$ FUN:function (a, b) [07:32:58.389] | : $ call_my_add :function (a, b) [07:32:58.389] | : $ my_add :function (a, b) [07:32:58.389] | : $ ... : list() [07:32:58.389] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.389] | : $ ...future.elements_ii : NULL [07:32:58.389] | : $ ...future.seeds_ii : NULL [07:32:58.389] | : $ ...future.globals.maxSize: NULL [07:32:58.389] | : - attr(*, "where")=List of 9 [07:32:58.389] | : ..$ ...future.FUN : [07:32:58.389] | : ..$ caller : [07:32:58.389] | : ..$ args : [07:32:58.389] | : ..$ call_my_add : [07:32:58.389] | : ..$ my_add : [07:32:58.389] | : ..$ ... : [07:32:58.389] | : ..$ ...future.elements_ii : [07:32:58.389] | : ..$ ...future.seeds_ii : [07:32:58.389] | : ..$ ...future.globals.maxSize: [07:32:58.389] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.389] | : - attr(*, "resolved")= logi FALSE [07:32:58.389] | : - attr(*, "total_size")= num 13245 [07:32:58.397] | : Number of futures (= number of chunks): 2 [07:32:58.397] | : Launching 2 futures (chunks) ... [07:32:58.397] | : Chunk #1 of 2 ... [07:32:58.397] | : - Finding globals in 'X' for chunk #1 ... [07:32:58.398] | : + additional globals found: [n=0] [07:32:58.398] | : + additional namespaces needed: [n=0] [07:32:58.398] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:58.398] | : - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [07:32:58.399] | : - seeds: [07:32:58.399] | : - All globals exported: [n=9] '...future.FUN', 'caller', 'args', 'call_my_add', 'my_add', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:58.401] | : Created future: [07:32:58.401] | : MultisessionFuture: [07:32:58.401] | : Label: 'future_lapply-1' [07:32:58.401] | : Expression: [07:32:58.401] | : { [07:32:58.401] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:58.401] | : "# expression in do.call(), because function called uses '...' " [07:32:58.401] | : "# as a global variable " [07:32:58.401] | : do.call(function(...) { [07:32:58.401] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:58.401] | : "# without having an '...' argument. This means '...' is treated" [07:32:58.401] | : "# as a global variable. This may happen when FUN() is an " [07:32:58.401] | : "# anonymous function. " [07:32:58.401] | : "# " [07:32:58.401] | : "# If an anonymous function, we will make sure to restore the " [07:32:58.401] | : "# function environment of FUN() to the calling environment. " [07:32:58.401] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:58.401] | : "# global environment, which is where globals are written. " [07:32:58.401] | : penv <- env <- environment(...future.FUN) [07:32:58.401] | : repeat { [07:32:58.401] | : if (identical(env, globalenv()) || identical(env, [07:32:58.401] | : emptyenv())) [07:32:58.401] | : break [07:32:58.401] | : penv <- env [07:32:58.401] | : env <- parent.env(env) [07:32:58.401] | : } [07:32:58.401] | : if (identical(penv, globalenv())) { [07:32:58.401] | : environment(...future.FUN) <- environment() [07:32:58.401] | : } [07:32:58.401] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:58.401] | : !isNamespace(penv)) { [07:32:58.401] | : parent.env(penv) <- environment() [07:32:58.401] | : } [07:32:58.401] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:58.401] | : { [07:32:58.401] | : "# future.apply:::future_xapply(): preserve future option" [07:32:58.401] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:58.401] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:58.401] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:58.401] | : on.exit(options(oopts), add = TRUE) [07:32:58.401] | : } [07:32:58.401] | : { [07:32:58.401] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:58.401] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:58.401] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:58.401] | : { [07:32:58.401] | : ...future.FUN(...future.X_jj, ...) [07:32:58.401] | : } [07:32:58.401] | : }) [07:32:58.401] | : } [07:32:58.401] | : } [07:32:58.401] | : }, args = future.call.arguments) [07:32:58.401] | : } [07:32:58.401] | : Globals: 9 objects totaling 10.71 KiB (function '...future.FUN' of 3.30 KiB, list 'args' of 928 bytes, function 'caller' of 904 bytes, function 'call_my_add' of 876 bytes, function 'my_add' of 114 bytes, ...) [07:32:58.401] | : Packages: [07:32:58.401] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:58.401] | : Capture standard output: TRUE [07:32:58.401] | : Capture condition classes: 'condition' (excluding '') [07:32:58.401] | : Immediate condition classes: 'immediateCondition' [07:32:58.401] | : Lazy evaluation: FALSE [07:32:58.401] | : Local evaluation: TRUE [07:32:58.401] | : Asynchronous evaluation: TRUE [07:32:58.401] | : Early signaling: FALSE [07:32:58.401] | : Environment: 0x00000201043254c0 [07:32:58.401] | : State: 'running' [07:32:58.401] | : Resolved: TRUE [07:32:58.401] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-17 [07:32:58.401] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:58.401] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:58.401] | : Value: [07:32:58.401] | : Conditions captured: [07:32:58.468] | : Chunk #1 of 2 ... DONE [07:32:58.468] | : Chunk #2 of 2 ... [07:32:58.468] | : - Finding globals in 'X' for chunk #2 ... [07:32:58.469] | : + additional globals found: [n=0] [07:32:58.469] | : + additional namespaces needed: [n=0] [07:32:58.469] | : - Finding globals in 'X' for chunk #2 ... DONE [07:32:58.469] | : - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [07:32:58.470] | : - seeds: [07:32:58.470] | : - All globals exported: [n=9] '...future.FUN', 'caller', 'args', 'call_my_add', 'my_add', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:58.472] | : Created future: [07:32:58.472] | : MultisessionFuture: [07:32:58.472] | : Label: 'future_lapply-2' [07:32:58.472] | : Expression: [07:32:58.472] | : { [07:32:58.472] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:58.472] | : "# expression in do.call(), because function called uses '...' " [07:32:58.472] | : "# as a global variable " [07:32:58.472] | : do.call(function(...) { [07:32:58.472] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:58.472] | : "# without having an '...' argument. This means '...' is treated" [07:32:58.472] | : "# as a global variable. This may happen when FUN() is an " [07:32:58.472] | : "# anonymous function. " [07:32:58.472] | : "# " [07:32:58.472] | : "# If an anonymous function, we will make sure to restore the " [07:32:58.472] | : "# function environment of FUN() to the calling environment. " [07:32:58.472] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:58.472] | : "# global environment, which is where globals are written. " [07:32:58.472] | : penv <- env <- environment(...future.FUN) [07:32:58.472] | : repeat { [07:32:58.472] | : if (identical(env, globalenv()) || identical(env, [07:32:58.472] | : emptyenv())) [07:32:58.472] | : break [07:32:58.472] | : penv <- env [07:32:58.472] | : env <- parent.env(env) [07:32:58.472] | : } [07:32:58.472] | : if (identical(penv, globalenv())) { [07:32:58.472] | : environment(...future.FUN) <- environment() [07:32:58.472] | : } [07:32:58.472] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:58.472] | : !isNamespace(penv)) { [07:32:58.472] | : parent.env(penv) <- environment() [07:32:58.472] | : } [07:32:58.472] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:58.472] | : { [07:32:58.472] | : "# future.apply:::future_xapply(): preserve future option" [07:32:58.472] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:58.472] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:58.472] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:58.472] | : on.exit(options(oopts), add = TRUE) [07:32:58.472] | : } [07:32:58.472] | : { [07:32:58.472] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:58.472] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:58.472] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:58.472] | : { [07:32:58.472] | : ...future.FUN(...future.X_jj, ...) [07:32:58.472] | : } [07:32:58.472] | : }) [07:32:58.472] | : } [07:32:58.472] | : } [07:32:58.472] | : }, args = future.call.arguments) [07:32:58.472] | : } [07:32:58.472] | : Globals: 9 objects totaling 10.72 KiB (function '...future.FUN' of 3.30 KiB, list 'args' of 928 bytes, function 'caller' of 904 bytes, function 'call_my_add' of 876 bytes, function 'my_add' of 114 bytes, ...) [07:32:58.472] | : Packages: [07:32:58.472] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:58.472] | : Capture standard output: TRUE [07:32:58.472] | : Capture condition classes: 'condition' (excluding '') [07:32:58.472] | : Immediate condition classes: 'immediateCondition' [07:32:58.472] | : Lazy evaluation: FALSE [07:32:58.472] | : Local evaluation: TRUE [07:32:58.472] | : Asynchronous evaluation: TRUE [07:32:58.472] | : Early signaling: FALSE [07:32:58.472] | : Environment: 0x00000201043254c0 [07:32:58.472] | : State: 'running' [07:32:58.472] | : Resolved: TRUE [07:32:58.472] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-18 [07:32:58.472] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:58.472] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:58.472] | : Value: [07:32:58.472] | : Conditions captured: [07:32:58.477] | : Chunk #2 of 2 ... DONE [07:32:58.478] | : Launching 2 futures (chunks) ... DONE [07:32:58.478] | : Resolving 2 futures (chunks) ... [07:32:58.479] | : - Number of value chunks collected: 2 [07:32:58.479] | : Resolving 2 futures (chunks) ... DONE [07:32:58.479] | : Reducing values from 2 chunks ... [07:32:58.479] | : - Number of values collected after concatenation: 3 [07:32:58.479] | : - Number of values expected: 3 [07:32:58.479] | : Reducing values from 2 chunks ... DONE [07:32:58.480] | future_lapply() -> future_xapply() ... done [07:32:58.480] future_lapply() ... done - future_lapply(x, FUN = do.call, ...) ... [07:32:58.480] future_lapply() ... [07:32:58.483] | Globals in FUN(): [n=10] 'parent.frame', '{', 'if', '!', 'is.list', 'stop', '<-', 'lapply', 'enquote', '.Internal' [07:32:58.483] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:58.483] | future_lapply() -> future_xapply() ... [07:32:58.484] | : Number of chunks: 1 [07:32:58.484] | : getGlobalsAndPackagesXApply() ... [07:32:58.484] | : . future.globals: TRUE [07:32:58.513] | : . globals found/used: [n=1] 'FUN' [07:32:58.514] | : . needed namespaces: [n=0] [07:32:58.514] | : . use_args: TRUE [07:32:58.514] | : . Getting '...' globals ... [07:32:58.515] | : . ' '...' content: [n=1] 'what' [07:32:58.515] | : . ' List of 1 [07:32:58.515] | : . ' $ ...:List of 1 [07:32:58.515] | : . ' ..$ what:function (x) [07:32:58.515] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.515] | : . ' - attr(*, "where")=List of 1 [07:32:58.515] | : . ' ..$ ...: [07:32:58.515] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.515] | : . ' - attr(*, "resolved")= logi TRUE [07:32:58.515] | : . ' - attr(*, "total_size")= num NA [07:32:58.519] | : . Getting '...' globals ... done [07:32:58.520] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:58.520] | : . List of 2 [07:32:58.520] | : . $ ...future.FUN:function (what, args, quote = FALSE, envir = parent.frame()) [07:32:58.520] | : . $ ... :List of 1 [07:32:58.520] | : . ..$ what:function (x) [07:32:58.520] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.520] | : . - attr(*, "where")=List of 2 [07:32:58.520] | : . ..$ ...future.FUN: [07:32:58.520] | : . ..$ ... : [07:32:58.520] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.520] | : . - attr(*, "resolved")= logi FALSE [07:32:58.520] | : . - attr(*, "total_size")= num 7368 [07:32:58.525] | : . Packages to be attached in all futures: [n=0] [07:32:58.526] | : getGlobalsAndPackagesXApply() ... done [07:32:58.526] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:58.526] | : List of 5 [07:32:58.526] | : $ ...future.FUN :function (what, args, quote = FALSE, envir = parent.frame()) [07:32:58.526] | : $ ... :List of 1 [07:32:58.526] | : ..$ what:function (x) [07:32:58.526] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.526] | : $ ...future.elements_ii : NULL [07:32:58.526] | : $ ...future.seeds_ii : NULL [07:32:58.526] | : $ ...future.globals.maxSize: NULL [07:32:58.526] | : - attr(*, "where")=List of 5 [07:32:58.526] | : ..$ ...future.FUN : [07:32:58.526] | : ..$ ... : [07:32:58.526] | : ..$ ...future.elements_ii : [07:32:58.526] | : ..$ ...future.seeds_ii : [07:32:58.526] | : ..$ ...future.globals.maxSize: [07:32:58.526] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.526] | : - attr(*, "resolved")= logi FALSE [07:32:58.526] | : - attr(*, "total_size")= num 7368 [07:32:58.532] | : Number of futures (= number of chunks): 1 [07:32:58.532] | : Launching 1 futures (chunks) ... [07:32:58.532] | : Chunk #1 of 1 ... [07:32:58.532] | : - Finding globals in 'X' for chunk #1 ... [07:32:58.533] | : + additional globals found: [n=0] [07:32:58.533] | : + additional namespaces needed: [n=0] [07:32:58.533] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:58.533] | : - seeds: [07:32:58.533] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:58.535] | : Created future: [07:32:58.536] | : MultisessionFuture: [07:32:58.536] | : Label: 'future_lapply-1' [07:32:58.536] | : Expression: [07:32:58.536] | : { [07:32:58.536] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:58.536] | : "# expression in do.call(), because function called uses '...' " [07:32:58.536] | : "# as a global variable " [07:32:58.536] | : do.call(function(...) { [07:32:58.536] | : "# future.apply:::future_xapply(): preserve future option" [07:32:58.536] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:58.536] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:58.536] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:58.536] | : on.exit(options(oopts), add = TRUE) [07:32:58.536] | : } [07:32:58.536] | : { [07:32:58.536] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:58.536] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:58.536] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:58.536] | : { [07:32:58.536] | : ...future.FUN(...future.X_jj, ...) [07:32:58.536] | : } [07:32:58.536] | : }) [07:32:58.536] | : } [07:32:58.536] | : }, args = future.call.arguments) [07:32:58.536] | : } [07:32:58.536] | : Globals: 5 objects totaling 7.38 KiB (function '...future.FUN' of 1.79 KiB, DotDotDotList 'future.call.arguments' of 152 bytes, list '...future.elements_ii' of 149 bytes, NULL '...future.seeds_ii' of 27 bytes, NULL '...future.globals.maxSize' of 27 bytes) [07:32:58.536] | : Packages: [07:32:58.536] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:58.536] | : Capture standard output: TRUE [07:32:58.536] | : Capture condition classes: 'condition' (excluding '') [07:32:58.536] | : Immediate condition classes: 'immediateCondition' [07:32:58.536] | : Lazy evaluation: FALSE [07:32:58.536] | : Local evaluation: TRUE [07:32:58.536] | : Asynchronous evaluation: TRUE [07:32:58.536] | : Early signaling: FALSE [07:32:58.536] | : Environment: R_GlobalEnv [07:32:58.536] | : State: 'running' [07:32:58.536] | : Resolved: TRUE [07:32:58.536] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-19 [07:32:58.536] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:58.536] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:58.536] | : Value: [07:32:58.536] | : Conditions captured: [07:32:58.540] | : Chunk #1 of 1 ... DONE [07:32:58.540] | : Launching 1 futures (chunks) ... DONE [07:32:58.540] | : Resolving 1 futures (chunks) ... [07:32:58.541] | : - Number of value chunks collected: 1 [07:32:58.541] | : Resolving 1 futures (chunks) ... DONE [07:32:58.541] | : Reducing values from 1 chunks ... [07:32:58.541] | : - Number of values collected after concatenation: 1 [07:32:58.541] | : - Number of values expected: 1 [07:32:58.542] | : Reducing values from 1 chunks ... DONE [07:32:58.542] | future_lapply() -> future_xapply() ... done [07:32:58.542] future_lapply() ... done [07:32:58.542] future_lapply() ... [07:32:58.544] | Globals in FUN(): [n=10] 'parent.frame', '{', 'if', '!', 'is.list', 'stop', '<-', 'lapply', 'enquote', '.Internal' [07:32:58.544] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:58.544] | future_lapply() -> future_xapply() ... [07:32:58.545] | : Number of chunks: 1 [07:32:58.545] | : getGlobalsAndPackagesXApply() ... [07:32:58.545] | : . future.globals: TRUE [07:32:58.568] | : . globals found/used: [n=1] 'FUN' [07:32:58.568] | : . needed namespaces: [n=0] [07:32:58.568] | : . use_args: TRUE [07:32:58.568] | : . Getting '...' globals ... [07:32:58.569] | : . ' '...' content: [n=1] 'what' [07:32:58.569] | : . ' List of 1 [07:32:58.569] | : . ' $ ...:List of 1 [07:32:58.569] | : . ' ..$ what:function (...) [07:32:58.569] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.569] | : . ' - attr(*, "where")=List of 1 [07:32:58.569] | : . ' ..$ ...: [07:32:58.569] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.569] | : . ' - attr(*, "resolved")= logi TRUE [07:32:58.569] | : . ' - attr(*, "total_size")= num NA [07:32:58.572] | : . Getting '...' globals ... done [07:32:58.573] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:58.573] | : . List of 2 [07:32:58.573] | : . $ ...future.FUN:function (what, args, quote = FALSE, envir = parent.frame()) [07:32:58.573] | : . $ ... :List of 1 [07:32:58.573] | : . ..$ what:function (...) [07:32:58.573] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.573] | : . - attr(*, "where")=List of 2 [07:32:58.573] | : . ..$ ...future.FUN: [07:32:58.573] | : . ..$ ... : [07:32:58.573] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.573] | : . - attr(*, "resolved")= logi FALSE [07:32:58.573] | : . - attr(*, "total_size")= num 7804 [07:32:58.577] | : . Packages to be attached in all futures: [n=0] [07:32:58.577] | : getGlobalsAndPackagesXApply() ... done [07:32:58.577] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:58.577] | : List of 5 [07:32:58.577] | : $ ...future.FUN :function (what, args, quote = FALSE, envir = parent.frame()) [07:32:58.577] | : $ ... :List of 1 [07:32:58.577] | : ..$ what:function (...) [07:32:58.577] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.577] | : $ ...future.elements_ii : NULL [07:32:58.577] | : $ ...future.seeds_ii : NULL [07:32:58.577] | : $ ...future.globals.maxSize: NULL [07:32:58.577] | : - attr(*, "where")=List of 5 [07:32:58.577] | : ..$ ...future.FUN : [07:32:58.577] | : ..$ ... : [07:32:58.577] | : ..$ ...future.elements_ii : [07:32:58.577] | : ..$ ...future.seeds_ii : [07:32:58.577] | : ..$ ...future.globals.maxSize: [07:32:58.577] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.577] | : - attr(*, "resolved")= logi FALSE [07:32:58.577] | : - attr(*, "total_size")= num 7804 [07:32:58.586] | : Number of futures (= number of chunks): 1 [07:32:58.586] | : Launching 1 futures (chunks) ... [07:32:58.587] | : Chunk #1 of 1 ... [07:32:58.587] | : - Finding globals in 'X' for chunk #1 ... [07:32:58.587] | : + additional globals found: [n=0] [07:32:58.588] | : + additional namespaces needed: [n=0] [07:32:58.588] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:58.588] | : - seeds: [07:32:58.588] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:58.590] | : Created future: [07:32:58.590] | : MultisessionFuture: [07:32:58.590] | : Label: 'future_lapply-1' [07:32:58.590] | : Expression: [07:32:58.590] | : { [07:32:58.590] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:58.590] | : "# expression in do.call(), because function called uses '...' " [07:32:58.590] | : "# as a global variable " [07:32:58.590] | : do.call(function(...) { [07:32:58.590] | : "# future.apply:::future_xapply(): preserve future option" [07:32:58.590] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:58.590] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:58.590] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:58.590] | : on.exit(options(oopts), add = TRUE) [07:32:58.590] | : } [07:32:58.590] | : { [07:32:58.590] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:58.590] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:58.590] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:58.590] | : { [07:32:58.590] | : ...future.FUN(...future.X_jj, ...) [07:32:58.590] | : } [07:32:58.590] | : }) [07:32:58.590] | : } [07:32:58.590] | : }, args = future.call.arguments) [07:32:58.590] | : } [07:32:58.590] | : Globals: 5 objects totaling 7.80 KiB (function '...future.FUN' of 1.79 KiB, DotDotDotList 'future.call.arguments' of 388 bytes, list '...future.elements_ii' of 149 bytes, NULL '...future.seeds_ii' of 27 bytes, NULL '...future.globals.maxSize' of 27 bytes) [07:32:58.590] | : Packages: [07:32:58.590] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:58.590] | : Capture standard output: TRUE [07:32:58.590] | : Capture condition classes: 'condition' (excluding '') [07:32:58.590] | : Immediate condition classes: 'immediateCondition' [07:32:58.590] | : Lazy evaluation: FALSE [07:32:58.590] | : Local evaluation: TRUE [07:32:58.590] | : Asynchronous evaluation: TRUE [07:32:58.590] | : Early signaling: FALSE [07:32:58.590] | : Environment: R_GlobalEnv [07:32:58.590] | : State: 'running' [07:32:58.590] | : Resolved: TRUE [07:32:58.590] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-20 [07:32:58.590] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:58.590] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:58.590] | : Value: [07:32:58.590] | : Conditions captured: [07:32:58.595] | : Chunk #1 of 1 ... DONE [07:32:58.595] | : Launching 1 futures (chunks) ... DONE [07:32:58.595] | : Resolving 1 futures (chunks) ... [07:32:58.596] | : - Number of value chunks collected: 1 [07:32:58.596] | : Resolving 1 futures (chunks) ... DONE [07:32:58.596] | : Reducing values from 1 chunks ... [07:32:58.596] | : - Number of values collected after concatenation: 1 [07:32:58.596] | : - Number of values expected: 1 [07:32:58.596] | : Reducing values from 1 chunks ... DONE [07:32:58.596] | future_lapply() -> future_xapply() ... done [07:32:58.597] future_lapply() ... done - future_lapply(x, ...) - passing arguments via '...' ... [07:32:58.597] future_lapply() ... [07:32:58.598] | Globals in FUN(): [n=1] 'typeof' [07:32:58.598] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:58.598] | future_lapply() -> future_xapply() ... [07:32:58.598] | : Number of chunks: 1 [07:32:58.598] | : getGlobalsAndPackagesXApply() ... [07:32:58.599] | : . future.globals: TRUE [07:32:58.606] | : . globals found/used: [n=1] 'FUN' [07:32:58.606] | : . needed namespaces: [n=0] [07:32:58.606] | : . use_args: TRUE [07:32:58.606] | : . Getting '...' globals ... [07:32:58.607] | : . ' '...' content: [n=1] 'b' [07:32:58.607] | : . ' List of 1 [07:32:58.607] | : . ' $ ...:List of 1 [07:32:58.607] | : . ' ..$ b:'data.frame': 2 obs. of 1 variable: [07:32:58.607] | : . ' .. ..$ a: int [1:2] 1 2 [07:32:58.607] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.607] | : . ' - attr(*, "where")=List of 1 [07:32:58.607] | : . ' ..$ ...: [07:32:58.607] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.607] | : . ' - attr(*, "resolved")= logi TRUE [07:32:58.607] | : . ' - attr(*, "total_size")= num NA [07:32:58.611] | : . Getting '...' globals ... done [07:32:58.611] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:58.611] | : . List of 2 [07:32:58.611] | : . $ ...future.FUN:function (a, b) [07:32:58.611] | : . $ ... :List of 1 [07:32:58.611] | : . ..$ b:'data.frame': 2 obs. of 1 variable: [07:32:58.611] | : . .. ..$ a: int [1:2] 1 2 [07:32:58.611] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.611] | : . - attr(*, "where")=List of 2 [07:32:58.611] | : . ..$ ...future.FUN: [07:32:58.611] | : . ..$ ... : [07:32:58.611] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.611] | : . - attr(*, "resolved")= logi FALSE [07:32:58.611] | : . - attr(*, "total_size")= num 4505 [07:32:58.615] | : . Packages to be attached in all futures: [n=0] [07:32:58.615] | : getGlobalsAndPackagesXApply() ... done [07:32:58.616] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:58.616] | : List of 5 [07:32:58.616] | : $ ...future.FUN :function (a, b) [07:32:58.616] | : $ ... :List of 1 [07:32:58.616] | : ..$ b:'data.frame': 2 obs. of 1 variable: [07:32:58.616] | : .. ..$ a: int [1:2] 1 2 [07:32:58.616] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.616] | : $ ...future.elements_ii : NULL [07:32:58.616] | : $ ...future.seeds_ii : NULL [07:32:58.616] | : $ ...future.globals.maxSize: NULL [07:32:58.616] | : - attr(*, "where")=List of 5 [07:32:58.616] | : ..$ ...future.FUN : [07:32:58.616] | : ..$ ... : [07:32:58.616] | : ..$ ...future.elements_ii : [07:32:58.616] | : ..$ ...future.seeds_ii : [07:32:58.616] | : ..$ ...future.globals.maxSize: [07:32:58.616] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.616] | : - attr(*, "resolved")= logi FALSE [07:32:58.616] | : - attr(*, "total_size")= num 4505 [07:32:58.622] | : Number of futures (= number of chunks): 1 [07:32:58.622] | : Launching 1 futures (chunks) ... [07:32:58.622] | : Chunk #1 of 1 ... [07:32:58.622] | : - Finding globals in 'X' for chunk #1 ... [07:32:58.623] | : + additional globals found: [n=0] [07:32:58.623] | : + additional namespaces needed: [n=0] [07:32:58.623] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:58.623] | : - seeds: [07:32:58.623] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:58.625] | : Created future: [07:32:58.626] | : MultisessionFuture: [07:32:58.626] | : Label: 'future_lapply-1' [07:32:58.626] | : Expression: [07:32:58.626] | : { [07:32:58.626] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:58.626] | : "# expression in do.call(), because function called uses '...' " [07:32:58.626] | : "# as a global variable " [07:32:58.626] | : do.call(function(...) { [07:32:58.626] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:58.626] | : "# without having an '...' argument. This means '...' is treated" [07:32:58.626] | : "# as a global variable. This may happen when FUN() is an " [07:32:58.626] | : "# anonymous function. " [07:32:58.626] | : "# " [07:32:58.626] | : "# If an anonymous function, we will make sure to restore the " [07:32:58.626] | : "# function environment of FUN() to the calling environment. " [07:32:58.626] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:58.626] | : "# global environment, which is where globals are written. " [07:32:58.626] | : penv <- env <- environment(...future.FUN) [07:32:58.626] | : repeat { [07:32:58.626] | : if (identical(env, globalenv()) || identical(env, [07:32:58.626] | : emptyenv())) [07:32:58.626] | : break [07:32:58.626] | : penv <- env [07:32:58.626] | : env <- parent.env(env) [07:32:58.626] | : } [07:32:58.626] | : if (identical(penv, globalenv())) { [07:32:58.626] | : environment(...future.FUN) <- environment() [07:32:58.626] | : } [07:32:58.626] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:58.626] | : !isNamespace(penv)) { [07:32:58.626] | : parent.env(penv) <- environment() [07:32:58.626] | : } [07:32:58.626] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:58.626] | : { [07:32:58.626] | : "# future.apply:::future_xapply(): preserve future option" [07:32:58.626] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:58.626] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:58.626] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:58.626] | : on.exit(options(oopts), add = TRUE) [07:32:58.626] | : } [07:32:58.626] | : { [07:32:58.626] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:58.626] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:58.626] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:58.626] | : { [07:32:58.626] | : ...future.FUN(...future.X_jj, ...) [07:32:58.626] | : } [07:32:58.626] | : }) [07:32:58.626] | : } [07:32:58.626] | : } [07:32:58.626] | : }, args = future.call.arguments) [07:32:58.626] | : } [07:32:58.626] | : Globals: 5 objects totaling 4.67 KiB (DotDotDotList 'future.call.arguments' of 357 bytes, function '...future.FUN' of 332 bytes, list '...future.elements_ii' of 43 bytes, NULL '...future.seeds_ii' of 27 bytes, NULL '...future.globals.maxSize' of 27 bytes) [07:32:58.626] | : Packages: [07:32:58.626] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:58.626] | : Capture standard output: TRUE [07:32:58.626] | : Capture condition classes: 'condition' (excluding '') [07:32:58.626] | : Immediate condition classes: 'immediateCondition' [07:32:58.626] | : Lazy evaluation: FALSE [07:32:58.626] | : Local evaluation: TRUE [07:32:58.626] | : Asynchronous evaluation: TRUE [07:32:58.626] | : Early signaling: FALSE [07:32:58.626] | : Environment: R_GlobalEnv [07:32:58.626] | : State: 'running' [07:32:58.626] | : Resolved: TRUE [07:32:58.626] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-21 [07:32:58.626] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:58.626] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:58.626] | : Value: [07:32:58.626] | : Conditions captured: [07:32:58.631] | : Chunk #1 of 1 ... DONE [07:32:58.632] | : Launching 1 futures (chunks) ... DONE [07:32:58.632] | : Resolving 1 futures (chunks) ... [07:32:58.632] | : - Number of value chunks collected: 1 [07:32:58.632] | : Resolving 1 futures (chunks) ... DONE [07:32:58.633] | : Reducing values from 1 chunks ... [07:32:58.633] | : - Number of values collected after concatenation: 1 [07:32:58.633] | : - Number of values expected: 1 [07:32:58.633] | : Reducing values from 1 chunks ... DONE [07:32:58.633] | future_lapply() -> future_xapply() ... done [07:32:58.633] future_lapply() ... done [07:32:58.634] future_lapply() ... [07:32:58.634] | Globals in FUN(): [n=1] 'typeof' [07:32:58.634] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:58.635] | future_lapply() -> future_xapply() ... [07:32:58.635] | : Number of chunks: 1 [07:32:58.635] | : getGlobalsAndPackagesXApply() ... [07:32:58.635] | : . future.globals: TRUE [07:32:58.642] | : . globals found/used: [n=1] 'FUN' [07:32:58.642] | : . needed namespaces: [n=0] [07:32:58.643] | : . use_args: TRUE [07:32:58.643] | : . Getting '...' globals ... [07:32:58.643] | : . ' '...' content: [n=1] 'b' [07:32:58.643] | : . ' List of 1 [07:32:58.643] | : . ' $ ...:List of 1 [07:32:58.643] | : . ' ..$ b: [07:32:58.643] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.643] | : . ' - attr(*, "where")=List of 1 [07:32:58.643] | : . ' ..$ ...: [07:32:58.643] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.643] | : . ' - attr(*, "resolved")= logi TRUE [07:32:58.643] | : . ' - attr(*, "total_size")= num NA [07:32:58.647] | : . Getting '...' globals ... done [07:32:58.647] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:58.647] | : . List of 2 [07:32:58.647] | : . $ ...future.FUN:function (a, b) [07:32:58.647] | : . $ ... :List of 1 [07:32:58.647] | : . ..$ b: [07:32:58.647] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.647] | : . - attr(*, "where")=List of 2 [07:32:58.647] | : . ..$ ...future.FUN: [07:32:58.647] | : . ..$ ... : [07:32:58.647] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.647] | : . - attr(*, "resolved")= logi FALSE [07:32:58.647] | : . - attr(*, "total_size")= num 4260 [07:32:58.653] | : . Packages to be attached in all futures: [n=0] [07:32:58.653] | : getGlobalsAndPackagesXApply() ... done [07:32:58.653] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:58.653] | : List of 5 [07:32:58.653] | : $ ...future.FUN :function (a, b) [07:32:58.653] | : $ ... :List of 1 [07:32:58.653] | : ..$ b: [07:32:58.653] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.653] | : $ ...future.elements_ii : NULL [07:32:58.653] | : $ ...future.seeds_ii : NULL [07:32:58.653] | : $ ...future.globals.maxSize: NULL [07:32:58.653] | : - attr(*, "where")=List of 5 [07:32:58.653] | : ..$ ...future.FUN : [07:32:58.653] | : ..$ ... : [07:32:58.653] | : ..$ ...future.elements_ii : [07:32:58.653] | : ..$ ...future.seeds_ii : [07:32:58.653] | : ..$ ...future.globals.maxSize: [07:32:58.653] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.653] | : - attr(*, "resolved")= logi FALSE [07:32:58.653] | : - attr(*, "total_size")= num 4260 [07:32:58.658] | : Number of futures (= number of chunks): 1 [07:32:58.659] | : Launching 1 futures (chunks) ... [07:32:58.659] | : Chunk #1 of 1 ... [07:32:58.659] | : - Finding globals in 'X' for chunk #1 ... [07:32:58.659] | : + additional globals found: [n=0] [07:32:58.660] | : + additional namespaces needed: [n=0] [07:32:58.660] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:58.660] | : - seeds: [07:32:58.660] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:58.662] | : Created future: [07:32:58.662] | : MultisessionFuture: [07:32:58.662] | : Label: 'future_lapply-1' [07:32:58.662] | : Expression: [07:32:58.662] | : { [07:32:58.662] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:58.662] | : "# expression in do.call(), because function called uses '...' " [07:32:58.662] | : "# as a global variable " [07:32:58.662] | : do.call(function(...) { [07:32:58.662] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:58.662] | : "# without having an '...' argument. This means '...' is treated" [07:32:58.662] | : "# as a global variable. This may happen when FUN() is an " [07:32:58.662] | : "# anonymous function. " [07:32:58.662] | : "# " [07:32:58.662] | : "# If an anonymous function, we will make sure to restore the " [07:32:58.662] | : "# function environment of FUN() to the calling environment. " [07:32:58.662] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:58.662] | : "# global environment, which is where globals are written. " [07:32:58.662] | : penv <- env <- environment(...future.FUN) [07:32:58.662] | : repeat { [07:32:58.662] | : if (identical(env, globalenv()) || identical(env, [07:32:58.662] | : emptyenv())) [07:32:58.662] | : break [07:32:58.662] | : penv <- env [07:32:58.662] | : env <- parent.env(env) [07:32:58.662] | : } [07:32:58.662] | : if (identical(penv, globalenv())) { [07:32:58.662] | : environment(...future.FUN) <- environment() [07:32:58.662] | : } [07:32:58.662] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:58.662] | : !isNamespace(penv)) { [07:32:58.662] | : parent.env(penv) <- environment() [07:32:58.662] | : } [07:32:58.662] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:58.662] | : { [07:32:58.662] | : "# future.apply:::future_xapply(): preserve future option" [07:32:58.662] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:58.662] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:58.662] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:58.662] | : on.exit(options(oopts), add = TRUE) [07:32:58.662] | : } [07:32:58.662] | : { [07:32:58.662] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:58.662] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:58.662] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:58.662] | : { [07:32:58.662] | : ...future.FUN(...future.X_jj, ...) [07:32:58.662] | : } [07:32:58.662] | : }) [07:32:58.662] | : } [07:32:58.662] | : } [07:32:58.662] | : }, args = future.call.arguments) [07:32:58.662] | : } [07:32:58.662] | : Globals: 5 objects totaling 4.43 KiB (function '...future.FUN' of 332 bytes, DotDotDotList 'future.call.arguments' of 279 bytes, list '...future.elements_ii' of 43 bytes, NULL '...future.seeds_ii' of 27 bytes, NULL '...future.globals.maxSize' of 27 bytes) [07:32:58.662] | : Packages: [07:32:58.662] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:58.662] | : Capture standard output: TRUE [07:32:58.662] | : Capture condition classes: 'condition' (excluding '') [07:32:58.662] | : Immediate condition classes: 'immediateCondition' [07:32:58.662] | : Lazy evaluation: FALSE [07:32:58.662] | : Local evaluation: TRUE [07:32:58.662] | : Asynchronous evaluation: TRUE [07:32:58.662] | : Early signaling: FALSE [07:32:58.662] | : Environment: R_GlobalEnv [07:32:58.662] | : State: 'running' [07:32:58.662] | : Resolved: TRUE [07:32:58.662] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-22 [07:32:58.662] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:58.662] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:58.662] | : Value: [07:32:58.662] | : Conditions captured: [07:32:58.666] | : Chunk #1 of 1 ... DONE [07:32:58.667] | : Launching 1 futures (chunks) ... DONE [07:32:58.667] | : Resolving 1 futures (chunks) ... [07:32:58.667] | : - Number of value chunks collected: 1 [07:32:58.668] | : Resolving 1 futures (chunks) ... DONE [07:32:58.668] | : Reducing values from 1 chunks ... [07:32:58.668] | : - Number of values collected after concatenation: 1 [07:32:58.668] | : - Number of values expected: 1 [07:32:58.668] | : Reducing values from 1 chunks ... DONE [07:32:58.668] | future_lapply() -> future_xapply() ... done [07:32:58.668] future_lapply() ... done [07:32:58.669] future_lapply() ... [07:32:58.669] | Globals in FUN(): [n=1] 'typeof' [07:32:58.669] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:58.670] | future_lapply() -> future_xapply() ... [07:32:58.670] | : Number of chunks: 1 [07:32:58.670] | : getGlobalsAndPackagesXApply() ... [07:32:58.670] | : . future.globals: TRUE [07:32:58.678] | : . globals found/used: [n=1] 'FUN' [07:32:58.678] | : . needed namespaces: [n=0] [07:32:58.678] | : . use_args: TRUE [07:32:58.678] | : . Getting '...' globals ... [07:32:58.679] | : . ' '...' content: [n=1] 'b' [07:32:58.679] | : . ' List of 1 [07:32:58.679] | : . ' $ ...:List of 1 [07:32:58.679] | : . ' ..$ b:Formal class 'classRepresentation' [package "methods"] with 11 slots [07:32:58.679] | : . ' .. .. ..@ slots :List of 4 [07:32:58.679] | : . ' .. .. .. ..$ .Data : chr "function" [07:32:58.679] | : . ' .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. ..$ target : chr "signature" [07:32:58.679] | : . ' .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. ..$ defined: chr "signature" [07:32:58.679] | : . ' .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. ..$ generic: chr "character" [07:32:58.679] | : . ' .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. ..@ contains :List of 4 [07:32:58.679] | : . ' .. .. .. ..$ function :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.679] | : . ' .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ superClass: chr "function" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.679] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:58.679] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.679] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.679] | : . ' .. .. .. .. .. ..@ by : chr(0) [07:32:58.679] | : . ' .. .. .. .. .. ..@ dataPart : logi TRUE [07:32:58.679] | : . ' .. .. .. .. .. ..@ distance : num 1 [07:32:58.679] | : . ' .. .. .. ..$ OptionalFunction:Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.679] | : . ' .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ superClass: chr "OptionalFunction" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.679] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:58.679] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.679] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.679] | : . ' .. .. .. .. .. ..@ by : chr "function" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.679] | : . ' .. .. .. .. .. ..@ distance : num 2 [07:32:58.679] | : . ' .. .. .. ..$ PossibleMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.679] | : . ' .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ superClass: chr "PossibleMethod" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.679] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:58.679] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.679] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.679] | : . ' .. .. .. .. .. ..@ by : chr "function" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.679] | : . ' .. .. .. .. .. ..@ distance : num 2 [07:32:58.679] | : . ' .. .. .. ..$ optionalMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.679] | : . ' .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ superClass: chr "optionalMethod" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.679] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:58.679] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.679] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.679] | : . ' .. .. .. .. .. ..@ by : chr "function" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.679] | : . ' .. .. .. .. .. ..@ distance : num 3 [07:32:58.679] | : . ' .. .. ..@ virtual : logi FALSE [07:32:58.679] | : . ' .. .. ..@ prototype :Formal class 'function' [package ""] with 0 slots [07:32:58.679] | : . ' list() [07:32:58.679] | : . ' .. .. .. .. ..$ target :Formal class 'signature' [package "methods"] with 3 slots [07:32:58.679] | : . ' .. .. .. .. .. .. ..@ .Data : chr(0) [07:32:58.679] | : . ' .. .. .. .. .. .. ..@ names : chr(0) [07:32:58.679] | : . ' .. .. .. .. .. .. ..@ package: chr(0) [07:32:58.679] | : . ' .. .. .. .. ..$ defined:Formal class 'signature' [package "methods"] with 3 slots [07:32:58.679] | : . ' .. .. .. .. .. .. ..@ .Data : chr(0) [07:32:58.679] | : . ' .. .. .. .. .. .. ..@ names : chr(0) [07:32:58.679] | : . ' .. .. .. .. .. .. ..@ package: chr(0) [07:32:58.679] | : . ' .. .. .. .. ..$ generic: chr(0) [07:32:58.679] | : . ' .. .. ..@ validity : NULL [07:32:58.679] | : . ' .. .. ..@ access : list() [07:32:58.679] | : . ' .. .. ..@ className : chr "MethodDefinition" [07:32:58.679] | : . ' .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. ..@ package : chr "methods" [07:32:58.679] | : . ' .. .. ..@ subclasses:List of 7 [07:32:58.679] | : . ' .. .. .. ..$ derivedDefaultMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.679] | : . ' .. .. .. .. .. ..@ subClass : chr "derivedDefaultMethod" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.679] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:58.679] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.679] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.679] | : . ' .. .. .. .. .. ..@ by : chr(0) [07:32:58.679] | : . ' .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.679] | : . ' .. .. .. .. .. ..@ distance : num 1 [07:32:58.679] | : . ' .. .. .. ..$ MethodWithNext :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.679] | : . ' .. .. .. .. .. ..@ subClass : chr "MethodWithNext" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.679] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:58.679] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.679] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.679] | : . ' .. .. .. .. .. ..@ by : chr(0) [07:32:58.679] | : . ' .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.679] | : . ' .. .. .. .. .. ..@ distance : num 1 [07:32:58.679] | : . ' .. .. .. ..$ SealedMethodDefinition :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.679] | : . ' .. .. .. .. .. ..@ subClass : chr "SealedMethodDefinition" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.679] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:58.679] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.679] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.679] | : . ' .. .. .. .. .. ..@ by : chr(0) [07:32:58.679] | : . ' .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.679] | : . ' .. .. .. .. .. ..@ distance : num 1 [07:32:58.679] | : . ' .. .. .. ..$ MethodDefinitionWithTrace :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.679] | : . ' .. .. .. .. .. ..@ subClass : chr "MethodDefinitionWithTrace" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.679] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:58.679] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.679] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.679] | : . ' .. .. .. .. .. ..@ by : chr(0) [07:32:58.679] | : . ' .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.679] | : . ' .. .. .. .. .. ..@ distance : num 1 [07:32:58.679] | : . ' .. .. .. ..$ internalDispatchMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.679] | : . ' .. .. .. .. .. ..@ subClass : chr "internalDispatchMethod" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.679] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:58.679] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.679] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.679] | : . ' .. .. .. .. .. ..@ by : chr "derivedDefaultMethod" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.679] | : . ' .. .. .. .. .. ..@ distance : num 2 [07:32:58.679] | : . ' .. .. .. ..$ MethodWithNextWithTrace :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.679] | : . ' .. .. .. .. .. ..@ subClass : chr "MethodWithNextWithTrace" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.679] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:58.679] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.679] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.679] | : . ' .. .. .. .. .. ..@ by : chr "MethodWithNext" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.679] | : . ' .. .. .. .. .. ..@ distance : num 2 [07:32:58.679] | : . ' .. .. .. ..$ derivedDefaultMethodWithTrace:Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.679] | : . ' .. .. .. .. .. ..@ subClass : chr "derivedDefaultMethodWithTrace" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ package : chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.679] | : . ' .. .. .. .. .. ..@ test :function (object) [07:32:58.679] | : . ' .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.679] | : . ' .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.679] | : . ' .. .. .. .. .. ..@ by : chr "derivedDefaultMethod" [07:32:58.679] | : . ' .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.679] | : . ' .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.679] | : . ' .. .. .. .. .. ..@ distance : num 2 [07:32:58.679] | : . ' .. .. ..@ versionKey: [07:32:58.679] | : . ' .. .. ..@ sealed : logi TRUE [07:32:58.679] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.679] | : . ' - attr(*, "where")=List of 1 [07:32:58.679] | : . ' ..$ ...: [07:32:58.679] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.679] | : . ' - attr(*, "resolved")= logi TRUE [07:32:58.679] | : . ' - attr(*, "total_size")= num NA [07:32:58.745] | : . Getting '...' globals ... done [07:32:58.745] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:58.746] | : . List of 2 [07:32:58.746] | : . $ ...future.FUN:function (a, b) [07:32:58.746] | : . $ ... :List of 1 [07:32:58.746] | : . ..$ b:Formal class 'classRepresentation' [package "methods"] with 11 slots [07:32:58.746] | : . .. .. ..@ slots :List of 4 [07:32:58.746] | : . .. .. .. ..$ .Data : chr "function" [07:32:58.746] | : . .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. ..$ target : chr "signature" [07:32:58.746] | : . .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. ..$ defined: chr "signature" [07:32:58.746] | : . .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. ..$ generic: chr "character" [07:32:58.746] | : . .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. ..@ contains :List of 4 [07:32:58.746] | : . .. .. .. ..$ function :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.746] | : . .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ superClass: chr "function" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.746] | : . .. .. .. .. .. ..@ test :function (object) [07:32:58.746] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.746] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.746] | : . .. .. .. .. .. ..@ by : chr(0) [07:32:58.746] | : . .. .. .. .. .. ..@ dataPart : logi TRUE [07:32:58.746] | : . .. .. .. .. .. ..@ distance : num 1 [07:32:58.746] | : . .. .. .. ..$ OptionalFunction:Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.746] | : . .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ superClass: chr "OptionalFunction" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.746] | : . .. .. .. .. .. ..@ test :function (object) [07:32:58.746] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.746] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.746] | : . .. .. .. .. .. ..@ by : chr "function" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.746] | : . .. .. .. .. .. ..@ distance : num 2 [07:32:58.746] | : . .. .. .. ..$ PossibleMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.746] | : . .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ superClass: chr "PossibleMethod" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.746] | : . .. .. .. .. .. ..@ test :function (object) [07:32:58.746] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.746] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.746] | : . .. .. .. .. .. ..@ by : chr "function" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.746] | : . .. .. .. .. .. ..@ distance : num 2 [07:32:58.746] | : . .. .. .. ..$ optionalMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.746] | : . .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ superClass: chr "optionalMethod" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.746] | : . .. .. .. .. .. ..@ test :function (object) [07:32:58.746] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.746] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.746] | : . .. .. .. .. .. ..@ by : chr "function" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.746] | : . .. .. .. .. .. ..@ distance : num 3 [07:32:58.746] | : . .. .. ..@ virtual : logi FALSE [07:32:58.746] | : . .. .. ..@ prototype :Formal class 'function' [package ""] with 0 slots [07:32:58.746] | : . list() [07:32:58.746] | : . .. .. .. .. ..$ target :Formal class 'signature' [package "methods"] with 3 slots [07:32:58.746] | : . .. .. .. .. .. .. ..@ .Data : chr(0) [07:32:58.746] | : . .. .. .. .. .. .. ..@ names : chr(0) [07:32:58.746] | : . .. .. .. .. .. .. ..@ package: chr(0) [07:32:58.746] | : . .. .. .. .. ..$ defined:Formal class 'signature' [package "methods"] with 3 slots [07:32:58.746] | : . .. .. .. .. .. .. ..@ .Data : chr(0) [07:32:58.746] | : . .. .. .. .. .. .. ..@ names : chr(0) [07:32:58.746] | : . .. .. .. .. .. .. ..@ package: chr(0) [07:32:58.746] | : . .. .. .. .. ..$ generic: chr(0) [07:32:58.746] | : . .. .. ..@ validity : NULL [07:32:58.746] | : . .. .. ..@ access : list() [07:32:58.746] | : . .. .. ..@ className : chr "MethodDefinition" [07:32:58.746] | : . .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. ..@ package : chr "methods" [07:32:58.746] | : . .. .. ..@ subclasses:List of 7 [07:32:58.746] | : . .. .. .. ..$ derivedDefaultMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.746] | : . .. .. .. .. .. ..@ subClass : chr "derivedDefaultMethod" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.746] | : . .. .. .. .. .. ..@ test :function (object) [07:32:58.746] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.746] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.746] | : . .. .. .. .. .. ..@ by : chr(0) [07:32:58.746] | : . .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.746] | : . .. .. .. .. .. ..@ distance : num 1 [07:32:58.746] | : . .. .. .. ..$ MethodWithNext :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.746] | : . .. .. .. .. .. ..@ subClass : chr "MethodWithNext" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.746] | : . .. .. .. .. .. ..@ test :function (object) [07:32:58.746] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.746] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.746] | : . .. .. .. .. .. ..@ by : chr(0) [07:32:58.746] | : . .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.746] | : . .. .. .. .. .. ..@ distance : num 1 [07:32:58.746] | : . .. .. .. ..$ SealedMethodDefinition :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.746] | : . .. .. .. .. .. ..@ subClass : chr "SealedMethodDefinition" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.746] | : . .. .. .. .. .. ..@ test :function (object) [07:32:58.746] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.746] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.746] | : . .. .. .. .. .. ..@ by : chr(0) [07:32:58.746] | : . .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.746] | : . .. .. .. .. .. ..@ distance : num 1 [07:32:58.746] | : . .. .. .. ..$ MethodDefinitionWithTrace :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.746] | : . .. .. .. .. .. ..@ subClass : chr "MethodDefinitionWithTrace" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.746] | : . .. .. .. .. .. ..@ test :function (object) [07:32:58.746] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.746] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.746] | : . .. .. .. .. .. ..@ by : chr(0) [07:32:58.746] | : . .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.746] | : . .. .. .. .. .. ..@ distance : num 1 [07:32:58.746] | : . .. .. .. ..$ internalDispatchMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.746] | : . .. .. .. .. .. ..@ subClass : chr "internalDispatchMethod" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.746] | : . .. .. .. .. .. ..@ test :function (object) [07:32:58.746] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.746] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.746] | : . .. .. .. .. .. ..@ by : chr "derivedDefaultMethod" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.746] | : . .. .. .. .. .. ..@ distance : num 2 [07:32:58.746] | : . .. .. .. ..$ MethodWithNextWithTrace :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.746] | : . .. .. .. .. .. ..@ subClass : chr "MethodWithNextWithTrace" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.746] | : . .. .. .. .. .. ..@ test :function (object) [07:32:58.746] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.746] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.746] | : . .. .. .. .. .. ..@ by : chr "MethodWithNext" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.746] | : . .. .. .. .. .. ..@ distance : num 2 [07:32:58.746] | : . .. .. .. ..$ derivedDefaultMethodWithTrace:Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.746] | : . .. .. .. .. .. ..@ subClass : chr "derivedDefaultMethodWithTrace" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ package : chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.746] | : . .. .. .. .. .. ..@ test :function (object) [07:32:58.746] | : . .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.746] | : . .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.746] | : . .. .. .. .. .. ..@ by : chr "derivedDefaultMethod" [07:32:58.746] | : . .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.746] | : . .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.746] | : . .. .. .. .. .. ..@ distance : num 2 [07:32:58.746] | : . .. .. ..@ versionKey: [07:32:58.746] | : . .. .. ..@ sealed : logi TRUE [07:32:58.746] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.746] | : . - attr(*, "where")=List of 2 [07:32:58.746] | : . ..$ ...future.FUN: [07:32:58.746] | : . ..$ ... : [07:32:58.746] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.746] | : . - attr(*, "resolved")= logi FALSE [07:32:58.746] | : . - attr(*, "total_size")= num 106127 [07:32:58.811] | : . Packages to be attached in all futures: [n=0] [07:32:58.811] | : getGlobalsAndPackagesXApply() ... done [07:32:58.813] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:58.813] | : List of 5 [07:32:58.813] | : $ ...future.FUN :function (a, b) [07:32:58.813] | : $ ... :List of 1 [07:32:58.813] | : ..$ b:Formal class 'classRepresentation' [package "methods"] with 11 slots [07:32:58.813] | : .. .. ..@ slots :List of 4 [07:32:58.813] | : .. .. .. ..$ .Data : chr "function" [07:32:58.813] | : .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. ..$ target : chr "signature" [07:32:58.813] | : .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. ..$ defined: chr "signature" [07:32:58.813] | : .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. ..$ generic: chr "character" [07:32:58.813] | : .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. ..@ contains :List of 4 [07:32:58.813] | : .. .. .. ..$ function :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.813] | : .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ superClass: chr "function" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.813] | : .. .. .. .. .. ..@ test :function (object) [07:32:58.813] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.813] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.813] | : .. .. .. .. .. ..@ by : chr(0) [07:32:58.813] | : .. .. .. .. .. ..@ dataPart : logi TRUE [07:32:58.813] | : .. .. .. .. .. ..@ distance : num 1 [07:32:58.813] | : .. .. .. ..$ OptionalFunction:Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.813] | : .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ superClass: chr "OptionalFunction" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.813] | : .. .. .. .. .. ..@ test :function (object) [07:32:58.813] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.813] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.813] | : .. .. .. .. .. ..@ by : chr "function" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.813] | : .. .. .. .. .. ..@ distance : num 2 [07:32:58.813] | : .. .. .. ..$ PossibleMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.813] | : .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ superClass: chr "PossibleMethod" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.813] | : .. .. .. .. .. ..@ test :function (object) [07:32:58.813] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.813] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.813] | : .. .. .. .. .. ..@ by : chr "function" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.813] | : .. .. .. .. .. ..@ distance : num 2 [07:32:58.813] | : .. .. .. ..$ optionalMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.813] | : .. .. .. .. .. ..@ subClass : chr "MethodDefinition" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ superClass: chr "optionalMethod" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.813] | : .. .. .. .. .. ..@ test :function (object) [07:32:58.813] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.813] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.813] | : .. .. .. .. .. ..@ by : chr "function" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.813] | : .. .. .. .. .. ..@ distance : num 3 [07:32:58.813] | : .. .. ..@ virtual : logi FALSE [07:32:58.813] | : .. .. ..@ prototype :Formal class 'function' [package ""] with 0 slots [07:32:58.813] | : list() [07:32:58.813] | : .. .. .. .. ..$ target :Formal class 'signature' [package "methods"] with 3 slots [07:32:58.813] | : .. .. .. .. .. .. ..@ .Data : chr(0) [07:32:58.813] | : .. .. .. .. .. .. ..@ names : chr(0) [07:32:58.813] | : .. .. .. .. .. .. ..@ package: chr(0) [07:32:58.813] | : .. .. .. .. ..$ defined:Formal class 'signature' [package "methods"] with 3 slots [07:32:58.813] | : .. .. .. .. .. .. ..@ .Data : chr(0) [07:32:58.813] | : .. .. .. .. .. .. ..@ names : chr(0) [07:32:58.813] | : .. .. .. .. .. .. ..@ package: chr(0) [07:32:58.813] | : .. .. .. .. ..$ generic: chr(0) [07:32:58.813] | : .. .. ..@ validity : NULL [07:32:58.813] | : .. .. ..@ access : list() [07:32:58.813] | : .. .. ..@ className : chr "MethodDefinition" [07:32:58.813] | : .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. ..@ package : chr "methods" [07:32:58.813] | : .. .. ..@ subclasses:List of 7 [07:32:58.813] | : .. .. .. ..$ derivedDefaultMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.813] | : .. .. .. .. .. ..@ subClass : chr "derivedDefaultMethod" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.813] | : .. .. .. .. .. ..@ test :function (object) [07:32:58.813] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.813] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.813] | : .. .. .. .. .. ..@ by : chr(0) [07:32:58.813] | : .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.813] | : .. .. .. .. .. ..@ distance : num 1 [07:32:58.813] | : .. .. .. ..$ MethodWithNext :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.813] | : .. .. .. .. .. ..@ subClass : chr "MethodWithNext" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.813] | : .. .. .. .. .. ..@ test :function (object) [07:32:58.813] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.813] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.813] | : .. .. .. .. .. ..@ by : chr(0) [07:32:58.813] | : .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.813] | : .. .. .. .. .. ..@ distance : num 1 [07:32:58.813] | : .. .. .. ..$ SealedMethodDefinition :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.813] | : .. .. .. .. .. ..@ subClass : chr "SealedMethodDefinition" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.813] | : .. .. .. .. .. ..@ test :function (object) [07:32:58.813] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.813] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.813] | : .. .. .. .. .. ..@ by : chr(0) [07:32:58.813] | : .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.813] | : .. .. .. .. .. ..@ distance : num 1 [07:32:58.813] | : .. .. .. ..$ MethodDefinitionWithTrace :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.813] | : .. .. .. .. .. ..@ subClass : chr "MethodDefinitionWithTrace" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.813] | : .. .. .. .. .. ..@ test :function (object) [07:32:58.813] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.813] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.813] | : .. .. .. .. .. ..@ by : chr(0) [07:32:58.813] | : .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.813] | : .. .. .. .. .. ..@ distance : num 1 [07:32:58.813] | : .. .. .. ..$ internalDispatchMethod :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.813] | : .. .. .. .. .. ..@ subClass : chr "internalDispatchMethod" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.813] | : .. .. .. .. .. ..@ test :function (object) [07:32:58.813] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.813] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.813] | : .. .. .. .. .. ..@ by : chr "derivedDefaultMethod" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.813] | : .. .. .. .. .. ..@ distance : num 2 [07:32:58.813] | : .. .. .. ..$ MethodWithNextWithTrace :Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.813] | : .. .. .. .. .. ..@ subClass : chr "MethodWithNextWithTrace" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.813] | : .. .. .. .. .. ..@ test :function (object) [07:32:58.813] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.813] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.813] | : .. .. .. .. .. ..@ by : chr "MethodWithNext" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.813] | : .. .. .. .. .. ..@ distance : num 2 [07:32:58.813] | : .. .. .. ..$ derivedDefaultMethodWithTrace:Formal class 'SClassExtension' [package "methods"] with 10 slots [07:32:58.813] | : .. .. .. .. .. ..@ subClass : chr "derivedDefaultMethodWithTrace" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ superClass: chr "MethodDefinition" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ package : chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ coerce :function (from, strict = TRUE) [07:32:58.813] | : .. .. .. .. .. ..@ test :function (object) [07:32:58.813] | : .. .. .. .. .. ..@ replace :function (from, to, value) [07:32:58.813] | : .. .. .. .. .. ..@ simple : logi TRUE [07:32:58.813] | : .. .. .. .. .. ..@ by : chr "derivedDefaultMethod" [07:32:58.813] | : .. .. .. .. .. .. ..- attr(*, "package")= chr "methods" [07:32:58.813] | : .. .. .. .. .. ..@ dataPart : logi FALSE [07:32:58.813] | : .. .. .. .. .. ..@ distance : num 2 [07:32:58.813] | : .. .. ..@ versionKey: [07:32:58.813] | : .. .. ..@ sealed : logi TRUE [07:32:58.813] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.813] | : $ ...future.elements_ii : NULL [07:32:58.813] | : $ ...future.seeds_ii : NULL [07:32:58.813] | : $ ...future.globals.maxSize: NULL [07:32:58.813] | : - attr(*, "where")=List of 5 [07:32:58.813] | : ..$ ...future.FUN : [07:32:58.813] | : ..$ ... : [07:32:58.813] | : ..$ ...future.elements_ii : [07:32:58.813] | : ..$ ...future.seeds_ii : [07:32:58.813] | : ..$ ...future.globals.maxSize: [07:32:58.813] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.813] | : - attr(*, "resolved")= logi FALSE [07:32:58.813] | : - attr(*, "total_size")= num 106127 [07:32:58.880] | : Number of futures (= number of chunks): 1 [07:32:58.880] | : Launching 1 futures (chunks) ... [07:32:58.880] | : Chunk #1 of 1 ... [07:32:58.881] | : - Finding globals in 'X' for chunk #1 ... [07:32:58.881] | : + additional globals found: [n=0] [07:32:58.881] | : + additional namespaces needed: [n=0] [07:32:58.882] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:58.882] | : - seeds: [07:32:58.882] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:58.885] | : Created future: [07:32:58.885] | : MultisessionFuture: [07:32:58.885] | : Label: 'future_lapply-1' [07:32:58.885] | : Expression: [07:32:58.885] | : { [07:32:58.885] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:58.885] | : "# expression in do.call(), because function called uses '...' " [07:32:58.885] | : "# as a global variable " [07:32:58.885] | : do.call(function(...) { [07:32:58.885] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:58.885] | : "# without having an '...' argument. This means '...' is treated" [07:32:58.885] | : "# as a global variable. This may happen when FUN() is an " [07:32:58.885] | : "# anonymous function. " [07:32:58.885] | : "# " [07:32:58.885] | : "# If an anonymous function, we will make sure to restore the " [07:32:58.885] | : "# function environment of FUN() to the calling environment. " [07:32:58.885] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:58.885] | : "# global environment, which is where globals are written. " [07:32:58.885] | : penv <- env <- environment(...future.FUN) [07:32:58.885] | : repeat { [07:32:58.885] | : if (identical(env, globalenv()) || identical(env, [07:32:58.885] | : emptyenv())) [07:32:58.885] | : break [07:32:58.885] | : penv <- env [07:32:58.885] | : env <- parent.env(env) [07:32:58.885] | : } [07:32:58.885] | : if (identical(penv, globalenv())) { [07:32:58.885] | : environment(...future.FUN) <- environment() [07:32:58.885] | : } [07:32:58.885] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:58.885] | : !isNamespace(penv)) { [07:32:58.885] | : parent.env(penv) <- environment() [07:32:58.885] | : } [07:32:58.885] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:58.885] | : { [07:32:58.885] | : "# future.apply:::future_xapply(): preserve future option" [07:32:58.885] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:58.885] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:58.885] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:58.885] | : on.exit(options(oopts), add = TRUE) [07:32:58.885] | : } [07:32:58.885] | : { [07:32:58.885] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:58.885] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:58.885] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:58.885] | : { [07:32:58.885] | : ...future.FUN(...future.X_jj, ...) [07:32:58.885] | : } [07:32:58.885] | : }) [07:32:58.885] | : } [07:32:58.885] | : } [07:32:58.885] | : }, args = future.call.arguments) [07:32:58.885] | : } [07:32:58.885] | : Globals: 5 objects totaling 103.91 KiB (DotDotDotList 'future.call.arguments' of 50.30 KiB, function '...future.FUN' of 332 bytes, list '...future.elements_ii' of 43 bytes, NULL '...future.seeds_ii' of 27 bytes, NULL '...future.globals.maxSize' of 27 bytes) [07:32:58.885] | : Packages: [07:32:58.885] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:58.885] | : Capture standard output: TRUE [07:32:58.885] | : Capture condition classes: 'condition' (excluding '') [07:32:58.885] | : Immediate condition classes: 'immediateCondition' [07:32:58.885] | : Lazy evaluation: FALSE [07:32:58.885] | : Local evaluation: TRUE [07:32:58.885] | : Asynchronous evaluation: TRUE [07:32:58.885] | : Early signaling: FALSE [07:32:58.885] | : Environment: R_GlobalEnv [07:32:58.885] | : State: 'running' [07:32:58.885] | : Resolved: TRUE [07:32:58.885] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-23 [07:32:58.885] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:58.885] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:58.885] | : Value: [07:32:58.885] | : Conditions captured: [07:32:58.890] | : Chunk #1 of 1 ... DONE [07:32:58.890] | : Launching 1 futures (chunks) ... DONE [07:32:58.890] | : Resolving 1 futures (chunks) ... [07:32:58.891] | : - Number of value chunks collected: 1 [07:32:58.891] | : Resolving 1 futures (chunks) ... DONE [07:32:58.891] | : Reducing values from 1 chunks ... [07:32:58.891] | : - Number of values collected after concatenation: 1 [07:32:58.891] | : - Number of values expected: 1 [07:32:58.891] | : Reducing values from 1 chunks ... DONE [07:32:58.892] | future_lapply() -> future_xapply() ... done [07:32:58.892] future_lapply() ... done - future_lapply(X, ...) - 'X' containing globals ... List of 4 $ : num 84 $ : num 10.5 $ : num 63 $ : int 11 [07:32:58.894] future_lapply() ... [07:32:58.895] | Globals in FUN(): [n=0] [07:32:58.895] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:58.895] | future_lapply() -> future_xapply() ... [07:32:58.896] | : Number of chunks: 2 [07:32:58.896] | : getGlobalsAndPackagesXApply() ... [07:32:58.896] | : . future.globals: TRUE [07:32:58.900] | : . globals found/used: [n=1] 'FUN' [07:32:58.900] | : . needed namespaces: [n=0] [07:32:58.901] | : . use_args: TRUE [07:32:58.901] | : . Getting '...' globals ... [07:32:58.901] | : . ' '...' content: [n=0] [07:32:58.901] | : . ' List of 1 [07:32:58.901] | : . ' $ ...: list() [07:32:58.901] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.901] | : . ' - attr(*, "where")=List of 1 [07:32:58.901] | : . ' ..$ ...: [07:32:58.901] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.901] | : . ' - attr(*, "resolved")= logi TRUE [07:32:58.901] | : . ' - attr(*, "total_size")= num NA [07:32:58.904] | : . Getting '...' globals ... done [07:32:58.905] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:58.905] | : . List of 2 [07:32:58.905] | : . $ ...future.FUN:function (f) [07:32:58.905] | : . $ ... : list() [07:32:58.905] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.905] | : . - attr(*, "where")=List of 2 [07:32:58.905] | : . ..$ ...future.FUN: [07:32:58.905] | : . ..$ ... : [07:32:58.905] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.905] | : . - attr(*, "resolved")= logi FALSE [07:32:58.905] | : . - attr(*, "total_size")= num 5165 [07:32:58.908] | : . Packages to be attached in all futures: [n=0] [07:32:58.908] | : getGlobalsAndPackagesXApply() ... done [07:32:58.909] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:58.909] | : List of 5 [07:32:58.909] | : $ ...future.FUN :function (f) [07:32:58.909] | : $ ... : list() [07:32:58.909] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.909] | : $ ...future.elements_ii : NULL [07:32:58.909] | : $ ...future.seeds_ii : NULL [07:32:58.909] | : $ ...future.globals.maxSize: NULL [07:32:58.909] | : - attr(*, "where")=List of 5 [07:32:58.909] | : ..$ ...future.FUN : [07:32:58.909] | : ..$ ... : [07:32:58.909] | : ..$ ...future.elements_ii : [07:32:58.909] | : ..$ ...future.seeds_ii : [07:32:58.909] | : ..$ ...future.globals.maxSize: [07:32:58.909] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.909] | : - attr(*, "resolved")= logi FALSE [07:32:58.909] | : - attr(*, "total_size")= num 5165 [07:32:58.914] | : Number of futures (= number of chunks): 2 [07:32:58.914] | : Launching 2 futures (chunks) ... [07:32:58.914] | : Chunk #1 of 2 ... [07:32:58.914] | : - Finding globals in 'X' for chunk #1 ... [07:32:58.928] | : + additional globals found: [n=2] 'a', 'b' [07:32:58.928] | : + additional namespaces needed: [n=0] [07:32:58.929] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:58.929] | : - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [07:32:58.929] | : - seeds: [07:32:58.929] | : - All globals exported: [n=7] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize', 'a', 'b' [07:32:58.931] | : Created future: [07:32:58.932] | : MultisessionFuture: [07:32:58.932] | : Label: 'future_lapply-1' [07:32:58.932] | : Expression: [07:32:58.932] | : { [07:32:58.932] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:58.932] | : "# expression in do.call(), because function called uses '...' " [07:32:58.932] | : "# as a global variable " [07:32:58.932] | : do.call(function(...) { [07:32:58.932] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:58.932] | : "# without having an '...' argument. This means '...' is treated" [07:32:58.932] | : "# as a global variable. This may happen when FUN() is an " [07:32:58.932] | : "# anonymous function. " [07:32:58.932] | : "# " [07:32:58.932] | : "# If an anonymous function, we will make sure to restore the " [07:32:58.932] | : "# function environment of FUN() to the calling environment. " [07:32:58.932] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:58.932] | : "# global environment, which is where globals are written. " [07:32:58.932] | : penv <- env <- environment(...future.FUN) [07:32:58.932] | : repeat { [07:32:58.932] | : if (identical(env, globalenv()) || identical(env, [07:32:58.932] | : emptyenv())) [07:32:58.932] | : break [07:32:58.932] | : penv <- env [07:32:58.932] | : env <- parent.env(env) [07:32:58.932] | : } [07:32:58.932] | : if (identical(penv, globalenv())) { [07:32:58.932] | : environment(...future.FUN) <- environment() [07:32:58.932] | : } [07:32:58.932] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:58.932] | : !isNamespace(penv)) { [07:32:58.932] | : parent.env(penv) <- environment() [07:32:58.932] | : } [07:32:58.932] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:58.932] | : { [07:32:58.932] | : "# future.apply:::future_xapply(): preserve future option" [07:32:58.932] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:58.932] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:58.932] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:58.932] | : on.exit(options(oopts), add = TRUE) [07:32:58.932] | : } [07:32:58.932] | : { [07:32:58.932] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:58.932] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:58.932] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:58.932] | : { [07:32:58.932] | : ...future.FUN(...future.X_jj, ...) [07:32:58.932] | : } [07:32:58.932] | : }) [07:32:58.932] | : } [07:32:58.932] | : } [07:32:58.932] | : }, args = future.call.arguments) [07:32:58.932] | : } [07:32:58.932] | : Globals: 7 objects totaling 5.90 KiB (list '...future.elements_ii' of 588 bytes, function '...future.FUN' of 225 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric 'a' of 39 bytes, numeric 'b' of 39 bytes, ...) [07:32:58.932] | : Packages: [07:32:58.932] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:58.932] | : Capture standard output: TRUE [07:32:58.932] | : Capture condition classes: 'condition' (excluding '') [07:32:58.932] | : Immediate condition classes: 'immediateCondition' [07:32:58.932] | : Lazy evaluation: FALSE [07:32:58.932] | : Local evaluation: TRUE [07:32:58.932] | : Asynchronous evaluation: TRUE [07:32:58.932] | : Early signaling: FALSE [07:32:58.932] | : Environment: R_GlobalEnv [07:32:58.932] | : State: 'running' [07:32:58.932] | : Resolved: TRUE [07:32:58.932] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-24 [07:32:58.932] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:58.932] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:58.932] | : Value: [07:32:58.932] | : Conditions captured: [07:32:58.936] | : Chunk #1 of 2 ... DONE [07:32:58.936] | : Chunk #2 of 2 ... [07:32:58.936] | : - Finding globals in 'X' for chunk #2 ... [07:32:58.950] | : + additional globals found: [n=2] 'a', 'b' [07:32:58.950] | : + additional namespaces needed: [n=1] 'tools' [07:32:58.950] | : - Finding globals in 'X' for chunk #2 ... DONE [07:32:58.950] | : - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [07:32:58.951] | : - seeds: [07:32:58.951] | : - All globals exported: [n=7] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize', 'a', 'b' [07:32:58.953] | : Created future: [07:32:58.953] | : MultisessionFuture: [07:32:58.953] | : Label: 'future_lapply-2' [07:32:58.953] | : Expression: [07:32:58.953] | : { [07:32:58.953] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:58.953] | : "# expression in do.call(), because function called uses '...' " [07:32:58.953] | : "# as a global variable " [07:32:58.953] | : do.call(function(...) { [07:32:58.953] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:58.953] | : "# without having an '...' argument. This means '...' is treated" [07:32:58.953] | : "# as a global variable. This may happen when FUN() is an " [07:32:58.953] | : "# anonymous function. " [07:32:58.953] | : "# " [07:32:58.953] | : "# If an anonymous function, we will make sure to restore the " [07:32:58.953] | : "# function environment of FUN() to the calling environment. " [07:32:58.953] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:58.953] | : "# global environment, which is where globals are written. " [07:32:58.953] | : penv <- env <- environment(...future.FUN) [07:32:58.953] | : repeat { [07:32:58.953] | : if (identical(env, globalenv()) || identical(env, [07:32:58.953] | : emptyenv())) [07:32:58.953] | : break [07:32:58.953] | : penv <- env [07:32:58.953] | : env <- parent.env(env) [07:32:58.953] | : } [07:32:58.953] | : if (identical(penv, globalenv())) { [07:32:58.953] | : environment(...future.FUN) <- environment() [07:32:58.953] | : } [07:32:58.953] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:58.953] | : !isNamespace(penv)) { [07:32:58.953] | : parent.env(penv) <- environment() [07:32:58.953] | : } [07:32:58.953] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:58.953] | : { [07:32:58.953] | : "# future.apply:::future_xapply(): preserve future option" [07:32:58.953] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:58.953] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:58.953] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:58.953] | : on.exit(options(oopts), add = TRUE) [07:32:58.953] | : } [07:32:58.953] | : { [07:32:58.953] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:58.953] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:58.953] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:58.953] | : { [07:32:58.953] | : ...future.FUN(...future.X_jj, ...) [07:32:58.953] | : } [07:32:58.953] | : }) [07:32:58.953] | : } [07:32:58.953] | : } [07:32:58.953] | : }, args = future.call.arguments) [07:32:58.953] | : } [07:32:58.953] | : Globals: 7 objects totaling 6.18 KiB (list '...future.elements_ii' of 903 bytes, function '...future.FUN' of 225 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric 'a' of 39 bytes, numeric 'b' of 39 bytes, ...) [07:32:58.953] | : Packages: 1 packages ('tools') [07:32:58.953] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:58.953] | : Capture standard output: TRUE [07:32:58.953] | : Capture condition classes: 'condition' (excluding '') [07:32:58.953] | : Immediate condition classes: 'immediateCondition' [07:32:58.953] | : Lazy evaluation: FALSE [07:32:58.953] | : Local evaluation: TRUE [07:32:58.953] | : Asynchronous evaluation: TRUE [07:32:58.953] | : Early signaling: FALSE [07:32:58.953] | : Environment: R_GlobalEnv [07:32:58.953] | : State: 'running' [07:32:58.953] | : Resolved: TRUE [07:32:58.953] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-25 [07:32:58.953] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:58.953] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:58.953] | : Value: [07:32:58.953] | : Conditions captured: [07:32:58.961] | : Chunk #2 of 2 ... DONE [07:32:58.961] | : Launching 2 futures (chunks) ... DONE [07:32:58.961] | : Resolving 2 futures (chunks) ... [07:32:58.962] | : - Number of value chunks collected: 2 [07:32:58.962] | : Resolving 2 futures (chunks) ... DONE [07:32:58.962] | : Reducing values from 2 chunks ... [07:32:58.962] | : - Number of values collected after concatenation: 4 [07:32:58.962] | : - Number of values expected: 4 [07:32:58.963] | : Reducing values from 2 chunks ... DONE [07:32:58.963] | future_lapply() -> future_xapply() ... done [07:32:58.963] future_lapply() ... done List of 4 $ : num 84 $ : num 10.5 $ : num 63 $ : int 11 - future_lapply(X, ...) - '{ a <- a + 1; a }' ... [07:32:58.965] future_lapply() ... [07:32:58.966] | Globals in FUN(): [n=4] '{', '<-', 'a', '+' [07:32:58.966] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:58.966] | future_lapply() -> future_xapply() ... [07:32:58.967] | : Number of chunks: 1 [07:32:58.967] | : getGlobalsAndPackagesXApply() ... [07:32:58.967] | : . future.globals: TRUE [07:32:58.976] | : . globals found/used: [n=2] 'FUN', 'a' [07:32:58.976] | : . needed namespaces: [n=0] [07:32:58.976] | : . use_args: TRUE [07:32:58.976] | : . Getting '...' globals ... [07:32:58.977] | : . ' '...' content: [n=0] [07:32:58.977] | : . ' List of 1 [07:32:58.977] | : . ' $ ...: list() [07:32:58.977] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.977] | : . ' - attr(*, "where")=List of 1 [07:32:58.977] | : . ' ..$ ...: [07:32:58.977] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.977] | : . ' - attr(*, "resolved")= logi TRUE [07:32:58.977] | : . ' - attr(*, "total_size")= num NA [07:32:58.980] | : . Getting '...' globals ... done [07:32:58.980] | : . Globals to be used in all futures (chunks): [n=3] '...future.FUN', 'a', '...' [07:32:58.980] | : . List of 3 [07:32:58.980] | : . $ ...future.FUN:function (ii) [07:32:58.980] | : . $ a : num 1 [07:32:58.980] | : . $ ... : list() [07:32:58.980] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.980] | : . - attr(*, "where")=List of 3 [07:32:58.980] | : . ..$ ...future.FUN: [07:32:58.980] | : . ..$ a : [07:32:58.980] | : . ..$ ... : [07:32:58.980] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.980] | : . - attr(*, "resolved")= logi FALSE [07:32:58.980] | : . - attr(*, "total_size")= num 4124 [07:32:58.985] | : . Packages to be attached in all futures: [n=0] [07:32:58.985] | : getGlobalsAndPackagesXApply() ... done [07:32:58.985] | : Globals pass to each chunk: [n=6] '...future.FUN', 'a', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:58.985] | : List of 6 [07:32:58.985] | : $ ...future.FUN :function (ii) [07:32:58.985] | : $ a : num 1 [07:32:58.985] | : $ ... : list() [07:32:58.985] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:58.985] | : $ ...future.elements_ii : NULL [07:32:58.985] | : $ ...future.seeds_ii : NULL [07:32:58.985] | : $ ...future.globals.maxSize: NULL [07:32:58.985] | : - attr(*, "where")=List of 6 [07:32:58.985] | : ..$ ...future.FUN : [07:32:58.985] | : ..$ a : [07:32:58.985] | : ..$ ... : [07:32:58.985] | : ..$ ...future.elements_ii : [07:32:58.985] | : ..$ ...future.seeds_ii : [07:32:58.985] | : ..$ ...future.globals.maxSize: [07:32:58.985] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:58.985] | : - attr(*, "resolved")= logi FALSE [07:32:58.985] | : - attr(*, "total_size")= num 4124 [07:32:58.992] | : Number of futures (= number of chunks): 1 [07:32:58.993] | : Launching 1 futures (chunks) ... [07:32:58.993] | : Chunk #1 of 1 ... [07:32:58.993] | : - Finding globals in 'X' for chunk #1 ... [07:32:58.993] | : + additional globals found: [n=0] [07:32:58.994] | : + additional namespaces needed: [n=0] [07:32:58.994] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:58.994] | : - seeds: [07:32:58.994] | : - All globals exported: [n=6] '...future.FUN', 'a', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:58.996] | : Created future: [07:32:58.996] | : MultisessionFuture: [07:32:58.996] | : Label: 'future_lapply-1' [07:32:58.996] | : Expression: [07:32:58.996] | : { [07:32:58.996] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:58.996] | : "# expression in do.call(), because function called uses '...' " [07:32:58.996] | : "# as a global variable " [07:32:58.996] | : do.call(function(...) { [07:32:58.996] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:58.996] | : "# without having an '...' argument. This means '...' is treated" [07:32:58.996] | : "# as a global variable. This may happen when FUN() is an " [07:32:58.996] | : "# anonymous function. " [07:32:58.996] | : "# " [07:32:58.996] | : "# If an anonymous function, we will make sure to restore the " [07:32:58.996] | : "# function environment of FUN() to the calling environment. " [07:32:58.996] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:58.996] | : "# global environment, which is where globals are written. " [07:32:58.996] | : penv <- env <- environment(...future.FUN) [07:32:58.996] | : repeat { [07:32:58.996] | : if (identical(env, globalenv()) || identical(env, [07:32:58.996] | : emptyenv())) [07:32:58.996] | : break [07:32:58.996] | : penv <- env [07:32:58.996] | : env <- parent.env(env) [07:32:58.996] | : } [07:32:58.996] | : if (identical(penv, globalenv())) { [07:32:58.996] | : environment(...future.FUN) <- environment() [07:32:58.996] | : } [07:32:58.996] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:58.996] | : !isNamespace(penv)) { [07:32:58.996] | : parent.env(penv) <- environment() [07:32:58.996] | : } [07:32:58.996] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:58.996] | : { [07:32:58.996] | : "# future.apply:::future_xapply(): preserve future option" [07:32:58.996] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:58.996] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:58.996] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:58.996] | : on.exit(options(oopts), add = TRUE) [07:32:58.996] | : } [07:32:58.996] | : { [07:32:58.996] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:58.996] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:58.996] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:58.996] | : { [07:32:58.996] | : ...future.FUN(...future.X_jj, ...) [07:32:58.996] | : } [07:32:58.996] | : }) [07:32:58.996] | : } [07:32:58.996] | : } [07:32:58.996] | : }, args = future.call.arguments) [07:32:58.996] | : } [07:32:58.996] | : Globals: 6 objects totaling 4.29 KiB (function '...future.FUN' of 511 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, list '...future.elements_ii' of 47 bytes, numeric 'a' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes, ...) [07:32:58.996] | : Packages: [07:32:58.996] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:58.996] | : Capture standard output: TRUE [07:32:58.996] | : Capture condition classes: 'condition' (excluding '') [07:32:58.996] | : Immediate condition classes: 'immediateCondition' [07:32:58.996] | : Lazy evaluation: FALSE [07:32:58.996] | : Local evaluation: TRUE [07:32:58.996] | : Asynchronous evaluation: TRUE [07:32:58.996] | : Early signaling: FALSE [07:32:58.996] | : Environment: R_GlobalEnv [07:32:58.996] | : State: 'running' [07:32:58.996] | : Resolved: TRUE [07:32:58.996] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-26 [07:32:58.996] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:58.996] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:58.996] | : Value: [07:32:58.996] | : Conditions captured: [07:32:59.001] | : Chunk #1 of 1 ... DONE [07:32:59.001] | : Launching 1 futures (chunks) ... DONE [07:32:59.001] | : Resolving 1 futures (chunks) ... [07:32:59.002] | : - Number of value chunks collected: 1 [07:32:59.002] | : Resolving 1 futures (chunks) ... DONE [07:32:59.002] | : Reducing values from 1 chunks ... [07:32:59.002] | : - Number of values collected after concatenation: 1 [07:32:59.002] | : - Number of values expected: 1 [07:32:59.002] | : Reducing values from 1 chunks ... DONE [07:32:59.003] | future_lapply() -> future_xapply() ... done [07:32:59.003] future_lapply() ... done - future_lapply(X, ...) - '{ a; a <- a + 1 }' ... [07:32:59.003] future_lapply() ... [07:32:59.004] | Globals in FUN(): [n=4] '{', 'a', '<-', '+' [07:32:59.004] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:59.004] | future_lapply() -> future_xapply() ... [07:32:59.005] | : Number of chunks: 1 [07:32:59.005] | : getGlobalsAndPackagesXApply() ... [07:32:59.005] | : . future.globals: TRUE [07:32:59.014] | : . globals found/used: [n=2] 'FUN', 'a' [07:32:59.014] | : . needed namespaces: [n=0] [07:32:59.014] | : . use_args: TRUE [07:32:59.014] | : . Getting '...' globals ... [07:32:59.015] | : . ' '...' content: [n=0] [07:32:59.015] | : . ' List of 1 [07:32:59.015] | : . ' $ ...: list() [07:32:59.015] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.015] | : . ' - attr(*, "where")=List of 1 [07:32:59.015] | : . ' ..$ ...: [07:32:59.015] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.015] | : . ' - attr(*, "resolved")= logi TRUE [07:32:59.015] | : . ' - attr(*, "total_size")= num NA [07:32:59.018] | : . Getting '...' globals ... done [07:32:59.018] | : . Globals to be used in all futures (chunks): [n=3] '...future.FUN', 'a', '...' [07:32:59.018] | : . List of 3 [07:32:59.018] | : . $ ...future.FUN:function (ii) [07:32:59.018] | : . $ a : num 1 [07:32:59.018] | : . $ ... : list() [07:32:59.018] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.018] | : . - attr(*, "where")=List of 3 [07:32:59.018] | : . ..$ ...future.FUN: [07:32:59.018] | : . ..$ a : [07:32:59.018] | : . ..$ ... : [07:32:59.018] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.018] | : . - attr(*, "resolved")= logi FALSE [07:32:59.018] | : . - attr(*, "total_size")= num 4140 [07:32:59.022] | : . Packages to be attached in all futures: [n=0] [07:32:59.023] | : getGlobalsAndPackagesXApply() ... done [07:32:59.023] | : Globals pass to each chunk: [n=6] '...future.FUN', 'a', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.023] | : List of 6 [07:32:59.023] | : $ ...future.FUN :function (ii) [07:32:59.023] | : $ a : num 1 [07:32:59.023] | : $ ... : list() [07:32:59.023] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.023] | : $ ...future.elements_ii : NULL [07:32:59.023] | : $ ...future.seeds_ii : NULL [07:32:59.023] | : $ ...future.globals.maxSize: NULL [07:32:59.023] | : - attr(*, "where")=List of 6 [07:32:59.023] | : ..$ ...future.FUN : [07:32:59.023] | : ..$ a : [07:32:59.023] | : ..$ ... : [07:32:59.023] | : ..$ ...future.elements_ii : [07:32:59.023] | : ..$ ...future.seeds_ii : [07:32:59.023] | : ..$ ...future.globals.maxSize: [07:32:59.023] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.023] | : - attr(*, "resolved")= logi FALSE [07:32:59.023] | : - attr(*, "total_size")= num 4140 [07:32:59.029] | : Number of futures (= number of chunks): 1 [07:32:59.029] | : Launching 1 futures (chunks) ... [07:32:59.029] | : Chunk #1 of 1 ... [07:32:59.029] | : - Finding globals in 'X' for chunk #1 ... [07:32:59.030] | : + additional globals found: [n=0] [07:32:59.030] | : + additional namespaces needed: [n=0] [07:32:59.030] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:59.030] | : - seeds: [07:32:59.030] | : - All globals exported: [n=6] '...future.FUN', 'a', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.032] | : Created future: [07:32:59.032] | : MultisessionFuture: [07:32:59.032] | : Label: 'future_lapply-1' [07:32:59.032] | : Expression: [07:32:59.032] | : { [07:32:59.032] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.032] | : "# expression in do.call(), because function called uses '...' " [07:32:59.032] | : "# as a global variable " [07:32:59.032] | : do.call(function(...) { [07:32:59.032] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.032] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.032] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.032] | : "# anonymous function. " [07:32:59.032] | : "# " [07:32:59.032] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.032] | : "# function environment of FUN() to the calling environment. " [07:32:59.032] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.032] | : "# global environment, which is where globals are written. " [07:32:59.032] | : penv <- env <- environment(...future.FUN) [07:32:59.032] | : repeat { [07:32:59.032] | : if (identical(env, globalenv()) || identical(env, [07:32:59.032] | : emptyenv())) [07:32:59.032] | : break [07:32:59.032] | : penv <- env [07:32:59.032] | : env <- parent.env(env) [07:32:59.032] | : } [07:32:59.032] | : if (identical(penv, globalenv())) { [07:32:59.032] | : environment(...future.FUN) <- environment() [07:32:59.032] | : } [07:32:59.032] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.032] | : !isNamespace(penv)) { [07:32:59.032] | : parent.env(penv) <- environment() [07:32:59.032] | : } [07:32:59.032] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.032] | : { [07:32:59.032] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.032] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.032] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.032] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.032] | : on.exit(options(oopts), add = TRUE) [07:32:59.032] | : } [07:32:59.032] | : { [07:32:59.032] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.032] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.032] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.032] | : { [07:32:59.032] | : ...future.FUN(...future.X_jj, ...) [07:32:59.032] | : } [07:32:59.032] | : }) [07:32:59.032] | : } [07:32:59.032] | : } [07:32:59.032] | : }, args = future.call.arguments) [07:32:59.032] | : } [07:32:59.032] | : Globals: 6 objects totaling 4.30 KiB (function '...future.FUN' of 519 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, list '...future.elements_ii' of 47 bytes, numeric 'a' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes, ...) [07:32:59.032] | : Packages: [07:32:59.032] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.032] | : Capture standard output: TRUE [07:32:59.032] | : Capture condition classes: 'condition' (excluding '') [07:32:59.032] | : Immediate condition classes: 'immediateCondition' [07:32:59.032] | : Lazy evaluation: FALSE [07:32:59.032] | : Local evaluation: TRUE [07:32:59.032] | : Asynchronous evaluation: TRUE [07:32:59.032] | : Early signaling: FALSE [07:32:59.032] | : Environment: R_GlobalEnv [07:32:59.032] | : State: 'running' [07:32:59.032] | : Resolved: TRUE [07:32:59.032] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-27 [07:32:59.032] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.032] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.032] | : Value: [07:32:59.032] | : Conditions captured: [07:32:59.038] | : Chunk #1 of 1 ... DONE [07:32:59.038] | : Launching 1 futures (chunks) ... DONE [07:32:59.038] | : Resolving 1 futures (chunks) ... [07:32:59.039] | : - Number of value chunks collected: 1 [07:32:59.039] | : Resolving 1 futures (chunks) ... DONE [07:32:59.039] | : Reducing values from 1 chunks ... [07:32:59.039] | : - Number of values collected after concatenation: 1 [07:32:59.039] | : - Number of values expected: 1 [07:32:59.039] | : Reducing values from 1 chunks ... DONE [07:32:59.040] | future_lapply() -> future_xapply() ... done [07:32:59.040] future_lapply() ... done - future_lapply(..., future.globals = ) ... [07:32:59.040] future_lapply() ... [07:32:59.040] | Globals in FUN(): [n=1] 'a' [07:32:59.041] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:59.041] | future_lapply() -> future_xapply() ... [07:32:59.041] | : Number of chunks: 1 [07:32:59.041] | : getGlobalsAndPackagesXApply() ... [07:32:59.041] | : . future.globals: with names 'a' [07:32:59.042] | : . use_args: TRUE [07:32:59.042] | : . Getting '...' globals ... [07:32:59.042] | : . ' '...' content: [n=0] [07:32:59.043] | : . ' List of 1 [07:32:59.043] | : . ' $ ...: list() [07:32:59.043] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.043] | : . ' - attr(*, "where")=List of 1 [07:32:59.043] | : . ' ..$ ...: [07:32:59.043] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.043] | : . ' - attr(*, "resolved")= logi TRUE [07:32:59.043] | : . ' - attr(*, "total_size")= num NA [07:32:59.046] | : . Getting '...' globals ... done [07:32:59.046] | : . Globals to be used in all futures (chunks): [n=3] 'a', '...future.FUN', '...' [07:32:59.046] | : . List of 3 [07:32:59.046] | : . $ a : num 42 [07:32:59.046] | : . $ ...future.FUN:function (x) [07:32:59.046] | : . $ ... : list() [07:32:59.046] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.046] | : . - attr(*, "where")=List of 3 [07:32:59.046] | : . ..$ a : [07:32:59.046] | : . ..$ ...future.FUN: [07:32:59.046] | : . ..$ ... : [07:32:59.046] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.046] | : . - attr(*, "resolved")= logi FALSE [07:32:59.046] | : . - attr(*, "total_size")= num NA [07:32:59.050] | : . Packages to be attached in all futures: [n=0] [07:32:59.050] | : getGlobalsAndPackagesXApply() ... done [07:32:59.051] | : Globals pass to each chunk: [n=6] 'a', '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.051] | : List of 6 [07:32:59.051] | : $ a : num 42 [07:32:59.051] | : $ ...future.FUN :function (x) [07:32:59.051] | : $ ... : list() [07:32:59.051] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.051] | : $ ...future.elements_ii : NULL [07:32:59.051] | : $ ...future.seeds_ii : NULL [07:32:59.051] | : $ ...future.globals.maxSize: NULL [07:32:59.051] | : - attr(*, "where")=List of 6 [07:32:59.051] | : ..$ a : [07:32:59.051] | : ..$ ...future.FUN : [07:32:59.051] | : ..$ ... : [07:32:59.051] | : ..$ ...future.elements_ii : [07:32:59.051] | : ..$ ...future.seeds_ii : [07:32:59.051] | : ..$ ...future.globals.maxSize: [07:32:59.051] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.051] | : - attr(*, "resolved")= logi FALSE [07:32:59.051] | : - attr(*, "total_size")= num NA [07:32:59.058] | : Number of futures (= number of chunks): 1 [07:32:59.058] | : Launching 1 futures (chunks) ... [07:32:59.058] | : Chunk #1 of 1 ... [07:32:59.059] | : - seeds: [07:32:59.059] | : - All globals exported: [n=6] 'a', '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.061] | : Created future: [07:32:59.061] | : MultisessionFuture: [07:32:59.061] | : Label: 'future_lapply-1' [07:32:59.061] | : Expression: [07:32:59.061] | : { [07:32:59.061] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.061] | : "# expression in do.call(), because function called uses '...' " [07:32:59.061] | : "# as a global variable " [07:32:59.061] | : do.call(function(...) { [07:32:59.061] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.061] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.061] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.061] | : "# anonymous function. " [07:32:59.061] | : "# " [07:32:59.061] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.061] | : "# function environment of FUN() to the calling environment. " [07:32:59.061] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.061] | : "# global environment, which is where globals are written. " [07:32:59.061] | : penv <- env <- environment(...future.FUN) [07:32:59.061] | : repeat { [07:32:59.061] | : if (identical(env, globalenv()) || identical(env, [07:32:59.061] | : emptyenv())) [07:32:59.061] | : break [07:32:59.061] | : penv <- env [07:32:59.061] | : env <- parent.env(env) [07:32:59.061] | : } [07:32:59.061] | : if (identical(penv, globalenv())) { [07:32:59.061] | : environment(...future.FUN) <- environment() [07:32:59.061] | : } [07:32:59.061] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.061] | : !isNamespace(penv)) { [07:32:59.061] | : parent.env(penv) <- environment() [07:32:59.061] | : } [07:32:59.061] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.061] | : { [07:32:59.061] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.061] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.061] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.061] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.061] | : on.exit(options(oopts), add = TRUE) [07:32:59.061] | : } [07:32:59.061] | : { [07:32:59.061] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.061] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.061] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.061] | : { [07:32:59.061] | : ...future.FUN(...future.X_jj, ...) [07:32:59.061] | : } [07:32:59.061] | : }) [07:32:59.061] | : } [07:32:59.061] | : } [07:32:59.061] | : }, args = future.call.arguments) [07:32:59.061] | : } [07:32:59.061] | : Globals: 6 objects totaling 4.16 KiB (function '...future.FUN' of 298 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, list '...future.elements_ii' of 47 bytes, numeric 'a' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes, ...) [07:32:59.061] | : Packages: [07:32:59.061] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.061] | : Capture standard output: TRUE [07:32:59.061] | : Capture condition classes: 'condition' (excluding '') [07:32:59.061] | : Immediate condition classes: 'immediateCondition' [07:32:59.061] | : Lazy evaluation: FALSE [07:32:59.061] | : Local evaluation: TRUE [07:32:59.061] | : Asynchronous evaluation: TRUE [07:32:59.061] | : Early signaling: FALSE [07:32:59.061] | : Environment: R_GlobalEnv [07:32:59.061] | : State: 'running' [07:32:59.061] | : Resolved: TRUE [07:32:59.061] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-28 [07:32:59.061] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.061] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.061] | : Value: [07:32:59.061] | : Conditions captured: [07:32:59.065] | : Chunk #1 of 1 ... DONE [07:32:59.065] | : Launching 1 futures (chunks) ... DONE [07:32:59.066] | : Resolving 1 futures (chunks) ... [07:32:59.066] | : - Number of value chunks collected: 1 [07:32:59.066] | : Resolving 1 futures (chunks) ... DONE [07:32:59.067] | : Reducing values from 1 chunks ... [07:32:59.067] | : - Number of values collected after concatenation: 1 [07:32:59.067] | : - Number of values expected: 1 [07:32:59.067] | : Reducing values from 1 chunks ... DONE [07:32:59.067] | future_lapply() -> future_xapply() ... done [07:32:59.067] future_lapply() ... done List of 1 $ : num 42 > message("*** future_lapply() - tricky globals ... DONE") *** future_lapply() - tricky globals ... DONE > message("*** future_lapply() - missing arguments ...") *** future_lapply() - missing arguments ... > foo <- function(x, abc) future_lapply(x, FUN = function(y) y) > y <- foo(1:2) [07:32:59.069] future_lapply() ... [07:32:59.069] | Globals in FUN(): [n=0] [07:32:59.069] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:59.069] | future_lapply() -> future_xapply() ... [07:32:59.070] | : Number of chunks: 2 [07:32:59.070] | : getGlobalsAndPackagesXApply() ... [07:32:59.070] | : . future.globals: TRUE [07:32:59.074] | : . globals found/used: [n=1] 'FUN' [07:32:59.074] | : . needed namespaces: [n=0] [07:32:59.075] | : . use_args: TRUE [07:32:59.075] | : . Getting '...' globals ... [07:32:59.075] | : . ' '...' content: [n=0] [07:32:59.076] | : . ' List of 1 [07:32:59.076] | : . ' $ ...: list() [07:32:59.076] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.076] | : . ' - attr(*, "where")=List of 1 [07:32:59.076] | : . ' ..$ ...: [07:32:59.076] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.076] | : . ' - attr(*, "resolved")= logi TRUE [07:32:59.076] | : . ' - attr(*, "total_size")= num NA [07:32:59.078] | : . Getting '...' globals ... done [07:32:59.079] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:59.079] | : . List of 2 [07:32:59.079] | : . $ ...future.FUN:function (y) [07:32:59.079] | : . $ ... : list() [07:32:59.079] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.079] | : . - attr(*, "where")=List of 2 [07:32:59.079] | : . ..$ ...future.FUN: [07:32:59.079] | : . ..$ ... : [07:32:59.079] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.079] | : . - attr(*, "resolved")= logi FALSE [07:32:59.079] | : . - attr(*, "total_size")= num 3716 [07:32:59.082] | : . Packages to be attached in all futures: [n=0] [07:32:59.082] | : getGlobalsAndPackagesXApply() ... done [07:32:59.083] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.083] | : List of 5 [07:32:59.083] | : $ ...future.FUN :function (y) [07:32:59.083] | : $ ... : list() [07:32:59.083] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.083] | : $ ...future.elements_ii : NULL [07:32:59.083] | : $ ...future.seeds_ii : NULL [07:32:59.083] | : $ ...future.globals.maxSize: NULL [07:32:59.083] | : - attr(*, "where")=List of 5 [07:32:59.083] | : ..$ ...future.FUN : [07:32:59.083] | : ..$ ... : [07:32:59.083] | : ..$ ...future.elements_ii : [07:32:59.083] | : ..$ ...future.seeds_ii : [07:32:59.083] | : ..$ ...future.globals.maxSize: [07:32:59.083] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.083] | : - attr(*, "resolved")= logi FALSE [07:32:59.083] | : - attr(*, "total_size")= num 3716 [07:32:59.088] | : Number of futures (= number of chunks): 2 [07:32:59.088] | : Launching 2 futures (chunks) ... [07:32:59.088] | : Chunk #1 of 2 ... [07:32:59.088] | : - Finding globals in 'X' for chunk #1 ... [07:32:59.089] | : + additional globals found: [n=0] [07:32:59.089] | : + additional namespaces needed: [n=0] [07:32:59.089] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:59.089] | : - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [07:32:59.089] | : - seeds: [07:32:59.089] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.092] | : Created future: [07:32:59.092] | : MultisessionFuture: [07:32:59.092] | : Label: 'future_lapply-1' [07:32:59.092] | : Expression: [07:32:59.092] | : { [07:32:59.092] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.092] | : "# expression in do.call(), because function called uses '...' " [07:32:59.092] | : "# as a global variable " [07:32:59.092] | : do.call(function(...) { [07:32:59.092] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.092] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.092] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.092] | : "# anonymous function. " [07:32:59.092] | : "# " [07:32:59.092] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.092] | : "# function environment of FUN() to the calling environment. " [07:32:59.092] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.092] | : "# global environment, which is where globals are written. " [07:32:59.092] | : penv <- env <- environment(...future.FUN) [07:32:59.092] | : repeat { [07:32:59.092] | : if (identical(env, globalenv()) || identical(env, [07:32:59.092] | : emptyenv())) [07:32:59.092] | : break [07:32:59.092] | : penv <- env [07:32:59.092] | : env <- parent.env(env) [07:32:59.092] | : } [07:32:59.092] | : if (identical(penv, globalenv())) { [07:32:59.092] | : environment(...future.FUN) <- environment() [07:32:59.092] | : } [07:32:59.092] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.092] | : !isNamespace(penv)) { [07:32:59.092] | : parent.env(penv) <- environment() [07:32:59.092] | : } [07:32:59.092] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.092] | : { [07:32:59.092] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.092] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.092] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.092] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.092] | : on.exit(options(oopts), add = TRUE) [07:32:59.092] | : } [07:32:59.092] | : { [07:32:59.092] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.092] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.092] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.092] | : { [07:32:59.092] | : ...future.FUN(...future.X_jj, ...) [07:32:59.092] | : } [07:32:59.092] | : }) [07:32:59.092] | : } [07:32:59.092] | : } [07:32:59.092] | : }, args = future.call.arguments) [07:32:59.092] | : } [07:32:59.092] | : Globals: 5 objects totaling 3.71 KiB (function '...future.FUN' of 295 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, list '...future.elements_ii' of 43 bytes, NULL '...future.seeds_ii' of 27 bytes, NULL '...future.globals.maxSize' of 27 bytes) [07:32:59.092] | : Packages: [07:32:59.092] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.092] | : Capture standard output: TRUE [07:32:59.092] | : Capture condition classes: 'condition' (excluding '') [07:32:59.092] | : Immediate condition classes: 'immediateCondition' [07:32:59.092] | : Lazy evaluation: FALSE [07:32:59.092] | : Local evaluation: TRUE [07:32:59.092] | : Asynchronous evaluation: TRUE [07:32:59.092] | : Early signaling: FALSE [07:32:59.092] | : Environment: 0x00000201042b8420 [07:32:59.092] | : State: 'running' [07:32:59.092] | : Resolved: TRUE [07:32:59.092] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-29 [07:32:59.092] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.092] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.092] | : Value: [07:32:59.092] | : Conditions captured: [07:32:59.096] | : Chunk #1 of 2 ... DONE [07:32:59.096] | : Chunk #2 of 2 ... [07:32:59.096] | : - Finding globals in 'X' for chunk #2 ... [07:32:59.097] | : + additional globals found: [n=0] [07:32:59.097] | : + additional namespaces needed: [n=0] [07:32:59.097] | : - Finding globals in 'X' for chunk #2 ... DONE [07:32:59.097] | : - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [07:32:59.098] | : - seeds: [07:32:59.098] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.100] | : Created future: [07:32:59.100] | : MultisessionFuture: [07:32:59.100] | : Label: 'future_lapply-2' [07:32:59.100] | : Expression: [07:32:59.100] | : { [07:32:59.100] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.100] | : "# expression in do.call(), because function called uses '...' " [07:32:59.100] | : "# as a global variable " [07:32:59.100] | : do.call(function(...) { [07:32:59.100] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.100] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.100] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.100] | : "# anonymous function. " [07:32:59.100] | : "# " [07:32:59.100] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.100] | : "# function environment of FUN() to the calling environment. " [07:32:59.100] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.100] | : "# global environment, which is where globals are written. " [07:32:59.100] | : penv <- env <- environment(...future.FUN) [07:32:59.100] | : repeat { [07:32:59.100] | : if (identical(env, globalenv()) || identical(env, [07:32:59.100] | : emptyenv())) [07:32:59.100] | : break [07:32:59.100] | : penv <- env [07:32:59.100] | : env <- parent.env(env) [07:32:59.100] | : } [07:32:59.100] | : if (identical(penv, globalenv())) { [07:32:59.100] | : environment(...future.FUN) <- environment() [07:32:59.100] | : } [07:32:59.100] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.100] | : !isNamespace(penv)) { [07:32:59.100] | : parent.env(penv) <- environment() [07:32:59.100] | : } [07:32:59.100] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.100] | : { [07:32:59.100] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.100] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.100] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.100] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.100] | : on.exit(options(oopts), add = TRUE) [07:32:59.100] | : } [07:32:59.100] | : { [07:32:59.100] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.100] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.100] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.100] | : { [07:32:59.100] | : ...future.FUN(...future.X_jj, ...) [07:32:59.100] | : } [07:32:59.100] | : }) [07:32:59.100] | : } [07:32:59.100] | : } [07:32:59.100] | : }, args = future.call.arguments) [07:32:59.100] | : } [07:32:59.100] | : Globals: 5 objects totaling 3.71 KiB (function '...future.FUN' of 295 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, list '...future.elements_ii' of 43 bytes, NULL '...future.seeds_ii' of 27 bytes, NULL '...future.globals.maxSize' of 27 bytes) [07:32:59.100] | : Packages: [07:32:59.100] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.100] | : Capture standard output: TRUE [07:32:59.100] | : Capture condition classes: 'condition' (excluding '') [07:32:59.100] | : Immediate condition classes: 'immediateCondition' [07:32:59.100] | : Lazy evaluation: FALSE [07:32:59.100] | : Local evaluation: TRUE [07:32:59.100] | : Asynchronous evaluation: TRUE [07:32:59.100] | : Early signaling: FALSE [07:32:59.100] | : Environment: 0x00000201042b8420 [07:32:59.100] | : State: 'running' [07:32:59.100] | : Resolved: TRUE [07:32:59.100] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-30 [07:32:59.100] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.100] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.100] | : Value: [07:32:59.100] | : Conditions captured: [07:32:59.104] | : Chunk #2 of 2 ... DONE [07:32:59.104] | : Launching 2 futures (chunks) ... DONE [07:32:59.104] | : Resolving 2 futures (chunks) ... [07:32:59.105] | : - Number of value chunks collected: 2 [07:32:59.105] | : Resolving 2 futures (chunks) ... DONE [07:32:59.106] | : Reducing values from 2 chunks ... [07:32:59.106] | : - Number of values collected after concatenation: 2 [07:32:59.106] | : - Number of values expected: 2 [07:32:59.106] | : Reducing values from 2 chunks ... DONE [07:32:59.106] | future_lapply() -> future_xapply() ... done [07:32:59.106] future_lapply() ... done > stopifnot(identical(y, as.list(1:2))) > message("*** future_lapply() - missing arguments ... DONE") *** future_lapply() - missing arguments ... DONE > message("*** future_lapply() - false positives ...") *** future_lapply() - false positives ... > suppressWarnings(rm(list = "xyz")) > foo <- function(x, abc) future_lapply(x, FUN = function(y) y) > y <- foo(1:2, abc = (xyz >= 3.14)) [07:32:59.107] future_lapply() ... [07:32:59.108] | Globals in FUN(): [n=0] [07:32:59.108] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:59.108] | future_lapply() -> future_xapply() ... [07:32:59.109] | : Number of chunks: 2 [07:32:59.109] | : getGlobalsAndPackagesXApply() ... [07:32:59.109] | : . future.globals: TRUE [07:32:59.113] | : . globals found/used: [n=1] 'FUN' [07:32:59.113] | : . needed namespaces: [n=0] [07:32:59.114] | : . use_args: TRUE [07:32:59.114] | : . Getting '...' globals ... [07:32:59.114] | : . ' '...' content: [n=0] [07:32:59.114] | : . ' List of 1 [07:32:59.114] | : . ' $ ...: list() [07:32:59.114] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.114] | : . ' - attr(*, "where")=List of 1 [07:32:59.114] | : . ' ..$ ...: [07:32:59.114] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.114] | : . ' - attr(*, "resolved")= logi TRUE [07:32:59.114] | : . ' - attr(*, "total_size")= num NA [07:32:59.117] | : . Getting '...' globals ... done [07:32:59.118] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:59.118] | : . List of 2 [07:32:59.118] | : . $ ...future.FUN:function (y) [07:32:59.118] | : . $ ... : list() [07:32:59.118] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.118] | : . - attr(*, "where")=List of 2 [07:32:59.118] | : . ..$ ...future.FUN: [07:32:59.118] | : . ..$ ... : [07:32:59.118] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.118] | : . - attr(*, "resolved")= logi FALSE [07:32:59.118] | : . - attr(*, "total_size")= num 3904 [07:32:59.121] | : . Packages to be attached in all futures: [n=0] [07:32:59.121] | : getGlobalsAndPackagesXApply() ... done [07:32:59.122] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.122] | : List of 5 [07:32:59.122] | : $ ...future.FUN :function (y) [07:32:59.122] | : $ ... : list() [07:32:59.122] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.122] | : $ ...future.elements_ii : NULL [07:32:59.122] | : $ ...future.seeds_ii : NULL [07:32:59.122] | : $ ...future.globals.maxSize: NULL [07:32:59.122] | : - attr(*, "where")=List of 5 [07:32:59.122] | : ..$ ...future.FUN : [07:32:59.122] | : ..$ ... : [07:32:59.122] | : ..$ ...future.elements_ii : [07:32:59.122] | : ..$ ...future.seeds_ii : [07:32:59.122] | : ..$ ...future.globals.maxSize: [07:32:59.122] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.122] | : - attr(*, "resolved")= logi FALSE [07:32:59.122] | : - attr(*, "total_size")= num 3904 [07:32:59.128] | : Number of futures (= number of chunks): 2 [07:32:59.128] | : Launching 2 futures (chunks) ... [07:32:59.129] | : Chunk #1 of 2 ... [07:32:59.129] | : - Finding globals in 'X' for chunk #1 ... [07:32:59.129] | : + additional globals found: [n=0] [07:32:59.129] | : + additional namespaces needed: [n=0] [07:32:59.130] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:59.130] | : - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [07:32:59.130] | : - seeds: [07:32:59.130] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.132] | : Created future: [07:32:59.132] | : MultisessionFuture: [07:32:59.132] | : Label: 'future_lapply-1' [07:32:59.132] | : Expression: [07:32:59.132] | : { [07:32:59.132] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.132] | : "# expression in do.call(), because function called uses '...' " [07:32:59.132] | : "# as a global variable " [07:32:59.132] | : do.call(function(...) { [07:32:59.132] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.132] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.132] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.132] | : "# anonymous function. " [07:32:59.132] | : "# " [07:32:59.132] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.132] | : "# function environment of FUN() to the calling environment. " [07:32:59.132] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.132] | : "# global environment, which is where globals are written. " [07:32:59.132] | : penv <- env <- environment(...future.FUN) [07:32:59.132] | : repeat { [07:32:59.132] | : if (identical(env, globalenv()) || identical(env, [07:32:59.132] | : emptyenv())) [07:32:59.132] | : break [07:32:59.132] | : penv <- env [07:32:59.132] | : env <- parent.env(env) [07:32:59.132] | : } [07:32:59.132] | : if (identical(penv, globalenv())) { [07:32:59.132] | : environment(...future.FUN) <- environment() [07:32:59.132] | : } [07:32:59.132] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.132] | : !isNamespace(penv)) { [07:32:59.132] | : parent.env(penv) <- environment() [07:32:59.132] | : } [07:32:59.132] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.132] | : { [07:32:59.132] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.132] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.132] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.132] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.132] | : on.exit(options(oopts), add = TRUE) [07:32:59.132] | : } [07:32:59.132] | : { [07:32:59.132] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.132] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.132] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.132] | : { [07:32:59.132] | : ...future.FUN(...future.X_jj, ...) [07:32:59.132] | : } [07:32:59.132] | : }) [07:32:59.132] | : } [07:32:59.132] | : } [07:32:59.132] | : }, args = future.call.arguments) [07:32:59.132] | : } [07:32:59.132] | : Globals: 5 objects totaling 3.80 KiB (function '...future.FUN' of 389 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, list '...future.elements_ii' of 43 bytes, NULL '...future.seeds_ii' of 27 bytes, NULL '...future.globals.maxSize' of 27 bytes) [07:32:59.132] | : Packages: [07:32:59.132] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.132] | : Capture standard output: TRUE [07:32:59.132] | : Capture condition classes: 'condition' (excluding '') [07:32:59.132] | : Immediate condition classes: 'immediateCondition' [07:32:59.132] | : Lazy evaluation: FALSE [07:32:59.132] | : Local evaluation: TRUE [07:32:59.132] | : Asynchronous evaluation: TRUE [07:32:59.132] | : Early signaling: FALSE [07:32:59.132] | : Environment: 0x00000201073b2d18 [07:32:59.132] | : State: 'running' [07:32:59.132] | : Resolved: TRUE [07:32:59.132] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-31 [07:32:59.132] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.132] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.132] | : Value: [07:32:59.132] | : Conditions captured: [07:32:59.136] | : Chunk #1 of 2 ... DONE [07:32:59.137] | : Chunk #2 of 2 ... [07:32:59.137] | : - Finding globals in 'X' for chunk #2 ... [07:32:59.137] | : + additional globals found: [n=0] [07:32:59.138] | : + additional namespaces needed: [n=0] [07:32:59.138] | : - Finding globals in 'X' for chunk #2 ... DONE [07:32:59.138] | : - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [07:32:59.138] | : - seeds: [07:32:59.138] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.140] | : Created future: [07:32:59.140] | : MultisessionFuture: [07:32:59.140] | : Label: 'future_lapply-2' [07:32:59.140] | : Expression: [07:32:59.140] | : { [07:32:59.140] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.140] | : "# expression in do.call(), because function called uses '...' " [07:32:59.140] | : "# as a global variable " [07:32:59.140] | : do.call(function(...) { [07:32:59.140] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.140] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.140] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.140] | : "# anonymous function. " [07:32:59.140] | : "# " [07:32:59.140] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.140] | : "# function environment of FUN() to the calling environment. " [07:32:59.140] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.140] | : "# global environment, which is where globals are written. " [07:32:59.140] | : penv <- env <- environment(...future.FUN) [07:32:59.140] | : repeat { [07:32:59.140] | : if (identical(env, globalenv()) || identical(env, [07:32:59.140] | : emptyenv())) [07:32:59.140] | : break [07:32:59.140] | : penv <- env [07:32:59.140] | : env <- parent.env(env) [07:32:59.140] | : } [07:32:59.140] | : if (identical(penv, globalenv())) { [07:32:59.140] | : environment(...future.FUN) <- environment() [07:32:59.140] | : } [07:32:59.140] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.140] | : !isNamespace(penv)) { [07:32:59.140] | : parent.env(penv) <- environment() [07:32:59.140] | : } [07:32:59.140] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.140] | : { [07:32:59.140] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.140] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.140] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.140] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.140] | : on.exit(options(oopts), add = TRUE) [07:32:59.140] | : } [07:32:59.140] | : { [07:32:59.140] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.140] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.140] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.140] | : { [07:32:59.140] | : ...future.FUN(...future.X_jj, ...) [07:32:59.140] | : } [07:32:59.140] | : }) [07:32:59.140] | : } [07:32:59.140] | : } [07:32:59.140] | : }, args = future.call.arguments) [07:32:59.140] | : } [07:32:59.140] | : Globals: 5 objects totaling 3.80 KiB (function '...future.FUN' of 389 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, list '...future.elements_ii' of 43 bytes, NULL '...future.seeds_ii' of 27 bytes, NULL '...future.globals.maxSize' of 27 bytes) [07:32:59.140] | : Packages: [07:32:59.140] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.140] | : Capture standard output: TRUE [07:32:59.140] | : Capture condition classes: 'condition' (excluding '') [07:32:59.140] | : Immediate condition classes: 'immediateCondition' [07:32:59.140] | : Lazy evaluation: FALSE [07:32:59.140] | : Local evaluation: TRUE [07:32:59.140] | : Asynchronous evaluation: TRUE [07:32:59.140] | : Early signaling: FALSE [07:32:59.140] | : Environment: 0x00000201073b2d18 [07:32:59.140] | : State: 'running' [07:32:59.140] | : Resolved: TRUE [07:32:59.140] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-32 [07:32:59.140] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.140] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.140] | : Value: [07:32:59.140] | : Conditions captured: [07:32:59.145] | : Chunk #2 of 2 ... DONE [07:32:59.145] | : Launching 2 futures (chunks) ... DONE [07:32:59.145] | : Resolving 2 futures (chunks) ... [07:32:59.146] | : - Number of value chunks collected: 2 [07:32:59.146] | : Resolving 2 futures (chunks) ... DONE [07:32:59.146] | : Reducing values from 2 chunks ... [07:32:59.146] | : - Number of values collected after concatenation: 2 [07:32:59.146] | : - Number of values expected: 2 [07:32:59.147] | : Reducing values from 2 chunks ... DONE [07:32:59.147] | future_lapply() -> future_xapply() ... done [07:32:59.147] future_lapply() ... done > stopifnot(identical(y, as.list(1:2))) > message("*** future_lapply() - false positives ... DONE") *** future_lapply() - false positives ... DONE > message("*** future_lapply() - too large ...") *** future_lapply() - too large ... > oMaxSize <- getOption("future.globals.maxSize") > X <- replicate(10, 1:100, simplify = FALSE) > FUN <- function(x) { + getOption("future.globals.maxSize") + } > y0 <- lapply(X, FUN = FUN) > stopifnot(all(sapply(y0, FUN = identical, oMaxSize))) > sizes <- unclass(c(FUN = object.size(FUN), X = object.size(X))) > cat(sprintf("Baseline size of globals: %.2f KiB\n", + sizes[["FUN"]]/1024)) Baseline size of globals: 1.80 KiB > message("- true positive ...") - true positive ... > options(future.globals.maxSize = 1) > res <- tryCatch({ + y <- future_lapply(X, FUN = FUN) + }, error = identity) [07:32:59.151] future_lapply() ... [07:32:59.151] | Globals in FUN(): [n=2] '{', 'getOption' [07:32:59.152] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:59.152] | future_lapply() -> future_xapply() ... [07:32:59.152] | : Number of chunks: 2 [07:32:59.153] | : getGlobalsAndPackagesXApply() ... [07:32:59.153] | : . future.globals: TRUE [07:32:59.159] | : getGlobalsAndPackagesXApply() ... done [07:32:59.159] | future_lapply() -> future_xapply() ... done [07:32:59.159] future_lapply() ... done > stopifnot(inherits(res, "error")) > res <- NULL > options(future.globals.maxSize = oMaxSize) > maxSize <- getOption("future.globals.maxSize") > y <- future_lapply(X, FUN = FUN) [07:32:59.160] future_lapply() ... [07:32:59.160] | Globals in FUN(): [n=2] '{', 'getOption' [07:32:59.161] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:59.161] | future_lapply() -> future_xapply() ... [07:32:59.161] | : Number of chunks: 2 [07:32:59.161] | : getGlobalsAndPackagesXApply() ... [07:32:59.162] | : . future.globals: TRUE [07:32:59.168] | : . globals found/used: [n=1] 'FUN' [07:32:59.168] | : . needed namespaces: [n=0] [07:32:59.168] | : . use_args: TRUE [07:32:59.168] | : . Getting '...' globals ... [07:32:59.169] | : . ' '...' content: [n=0] [07:32:59.169] | : . ' List of 1 [07:32:59.169] | : . ' $ ...: list() [07:32:59.169] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.169] | : . ' - attr(*, "where")=List of 1 [07:32:59.169] | : . ' ..$ ...: [07:32:59.169] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.169] | : . ' - attr(*, "resolved")= logi TRUE [07:32:59.169] | : . ' - attr(*, "total_size")= num NA [07:32:59.172] | : . Getting '...' globals ... done [07:32:59.172] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:59.172] | : . List of 2 [07:32:59.172] | : . $ ...future.FUN:function (x) [07:32:59.172] | : . $ ... : list() [07:32:59.172] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.172] | : . - attr(*, "where")=List of 2 [07:32:59.172] | : . ..$ ...future.FUN: [07:32:59.172] | : . ..$ ... : [07:32:59.172] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.172] | : . - attr(*, "resolved")= logi FALSE [07:32:59.172] | : . - attr(*, "total_size")= num 4670 [07:32:59.176] | : . Packages to be attached in all futures: [n=0] [07:32:59.176] | : getGlobalsAndPackagesXApply() ... done [07:32:59.176] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.177] | : List of 5 [07:32:59.177] | : $ ...future.FUN :function (x) [07:32:59.177] | : $ ... : list() [07:32:59.177] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.177] | : $ ...future.elements_ii : NULL [07:32:59.177] | : $ ...future.seeds_ii : NULL [07:32:59.177] | : $ ...future.globals.maxSize: NULL [07:32:59.177] | : - attr(*, "where")=List of 5 [07:32:59.177] | : ..$ ...future.FUN : [07:32:59.177] | : ..$ ... : [07:32:59.177] | : ..$ ...future.elements_ii : [07:32:59.177] | : ..$ ...future.seeds_ii : [07:32:59.177] | : ..$ ...future.globals.maxSize: [07:32:59.177] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.177] | : - attr(*, "resolved")= logi FALSE [07:32:59.177] | : - attr(*, "total_size")= num 4670 [07:32:59.182] | : Number of futures (= number of chunks): 2 [07:32:59.182] | : Launching 2 futures (chunks) ... [07:32:59.182] | : Chunk #1 of 2 ... [07:32:59.182] | : - Finding globals in 'X' for chunk #1 ... [07:32:59.183] | : + additional globals found: [n=0] [07:32:59.183] | : + additional namespaces needed: [n=0] [07:32:59.183] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:59.183] | : - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [07:32:59.183] | : - seeds: [07:32:59.184] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.186] | : Created future: [07:32:59.186] | : MultisessionFuture: [07:32:59.186] | : Label: 'future_lapply-1' [07:32:59.186] | : Expression: [07:32:59.186] | : { [07:32:59.186] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.186] | : "# expression in do.call(), because function called uses '...' " [07:32:59.186] | : "# as a global variable " [07:32:59.186] | : do.call(function(...) { [07:32:59.186] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.186] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.186] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.186] | : "# anonymous function. " [07:32:59.186] | : "# " [07:32:59.186] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.186] | : "# function environment of FUN() to the calling environment. " [07:32:59.186] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.186] | : "# global environment, which is where globals are written. " [07:32:59.186] | : penv <- env <- environment(...future.FUN) [07:32:59.186] | : repeat { [07:32:59.186] | : if (identical(env, globalenv()) || identical(env, [07:32:59.186] | : emptyenv())) [07:32:59.186] | : break [07:32:59.186] | : penv <- env [07:32:59.186] | : env <- parent.env(env) [07:32:59.186] | : } [07:32:59.186] | : if (identical(penv, globalenv())) { [07:32:59.186] | : environment(...future.FUN) <- environment() [07:32:59.186] | : } [07:32:59.186] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.186] | : !isNamespace(penv)) { [07:32:59.186] | : parent.env(penv) <- environment() [07:32:59.186] | : } [07:32:59.186] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.186] | : { [07:32:59.186] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.186] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.186] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.186] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.186] | : on.exit(options(oopts), add = TRUE) [07:32:59.186] | : } [07:32:59.186] | : { [07:32:59.186] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.186] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.186] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.186] | : { [07:32:59.186] | : ...future.FUN(...future.X_jj, ...) [07:32:59.186] | : } [07:32:59.186] | : }) [07:32:59.186] | : } [07:32:59.186] | : } [07:32:59.186] | : }, args = future.call.arguments) [07:32:59.186] | : } [07:32:59.186] | : Globals: 5 objects totaling 5.19 KiB (list '...future.elements_ii' of 445 bytes, function '...future.FUN' of 407 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, NULL '...future.seeds_ii' of 27 bytes, NULL '...future.globals.maxSize' of 27 bytes) [07:32:59.186] | : Packages: [07:32:59.186] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.186] | : Capture standard output: TRUE [07:32:59.186] | : Capture condition classes: 'condition' (excluding '') [07:32:59.186] | : Immediate condition classes: 'immediateCondition' [07:32:59.186] | : Lazy evaluation: FALSE [07:32:59.186] | : Local evaluation: TRUE [07:32:59.186] | : Asynchronous evaluation: TRUE [07:32:59.186] | : Early signaling: FALSE [07:32:59.186] | : Environment: R_GlobalEnv [07:32:59.186] | : State: 'running' [07:32:59.186] | : Resolved: TRUE [07:32:59.186] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-33 [07:32:59.186] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.186] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.186] | : Value: [07:32:59.186] | : Conditions captured: [07:32:59.191] | : Chunk #1 of 2 ... DONE [07:32:59.191] | : Chunk #2 of 2 ... [07:32:59.192] | : - Finding globals in 'X' for chunk #2 ... [07:32:59.192] | : + additional globals found: [n=0] [07:32:59.192] | : + additional namespaces needed: [n=0] [07:32:59.192] | : - Finding globals in 'X' for chunk #2 ... DONE [07:32:59.193] | : - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [07:32:59.193] | : - seeds: [07:32:59.193] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.196] | : Created future: [07:32:59.197] | : MultisessionFuture: [07:32:59.197] | : Label: 'future_lapply-2' [07:32:59.197] | : Expression: [07:32:59.197] | : { [07:32:59.197] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.197] | : "# expression in do.call(), because function called uses '...' " [07:32:59.197] | : "# as a global variable " [07:32:59.197] | : do.call(function(...) { [07:32:59.197] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.197] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.197] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.197] | : "# anonymous function. " [07:32:59.197] | : "# " [07:32:59.197] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.197] | : "# function environment of FUN() to the calling environment. " [07:32:59.197] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.197] | : "# global environment, which is where globals are written. " [07:32:59.197] | : penv <- env <- environment(...future.FUN) [07:32:59.197] | : repeat { [07:32:59.197] | : if (identical(env, globalenv()) || identical(env, [07:32:59.197] | : emptyenv())) [07:32:59.197] | : break [07:32:59.197] | : penv <- env [07:32:59.197] | : env <- parent.env(env) [07:32:59.197] | : } [07:32:59.197] | : if (identical(penv, globalenv())) { [07:32:59.197] | : environment(...future.FUN) <- environment() [07:32:59.197] | : } [07:32:59.197] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.197] | : !isNamespace(penv)) { [07:32:59.197] | : parent.env(penv) <- environment() [07:32:59.197] | : } [07:32:59.197] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.197] | : { [07:32:59.197] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.197] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.197] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.197] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.197] | : on.exit(options(oopts), add = TRUE) [07:32:59.197] | : } [07:32:59.197] | : { [07:32:59.197] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.197] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.197] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.197] | : { [07:32:59.197] | : ...future.FUN(...future.X_jj, ...) [07:32:59.197] | : } [07:32:59.197] | : }) [07:32:59.197] | : } [07:32:59.197] | : } [07:32:59.197] | : }, args = future.call.arguments) [07:32:59.197] | : } [07:32:59.197] | : Globals: 5 objects totaling 5.19 KiB (list '...future.elements_ii' of 445 bytes, function '...future.FUN' of 407 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, NULL '...future.seeds_ii' of 27 bytes, NULL '...future.globals.maxSize' of 27 bytes) [07:32:59.197] | : Packages: [07:32:59.197] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.197] | : Capture standard output: TRUE [07:32:59.197] | : Capture condition classes: 'condition' (excluding '') [07:32:59.197] | : Immediate condition classes: 'immediateCondition' [07:32:59.197] | : Lazy evaluation: FALSE [07:32:59.197] | : Local evaluation: TRUE [07:32:59.197] | : Asynchronous evaluation: TRUE [07:32:59.197] | : Early signaling: FALSE [07:32:59.197] | : Environment: R_GlobalEnv [07:32:59.197] | : State: 'running' [07:32:59.197] | : Resolved: TRUE [07:32:59.197] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-34 [07:32:59.197] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.197] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.197] | : Value: [07:32:59.197] | : Conditions captured: [07:32:59.200] | : Chunk #2 of 2 ... DONE [07:32:59.200] | : Launching 2 futures (chunks) ... DONE [07:32:59.200] | : Resolving 2 futures (chunks) ... [07:32:59.201] | : - Number of value chunks collected: 2 [07:32:59.201] | : Resolving 2 futures (chunks) ... DONE [07:32:59.201] | : Reducing values from 2 chunks ... [07:32:59.201] | : - Number of values collected after concatenation: 10 [07:32:59.201] | : - Number of values expected: 10 [07:32:59.202] | : Reducing values from 2 chunks ... DONE [07:32:59.202] | future_lapply() -> future_xapply() ... done [07:32:59.202] future_lapply() ... done > str(y) List of 10 $ : NULL $ : NULL $ : NULL $ : NULL $ : NULL $ : NULL $ : NULL $ : NULL $ : NULL $ : NULL > stopifnot(all(sapply(y, FUN = identical, oMaxSize))) > message("- approximately invariant to chunk size ...") - approximately invariant to chunk size ... > maxSize <- sizes[["FUN"]] + sizes[["X"]]/length(X) > options(future.globals.maxSize = maxSize) > for (chunk.size in c(1, 2, 5, 10)) { + y <- future_lapply(X, FUN = FUN, future.chunk.size = chunk.size) + str(y) + stopifnot(all(unlist( .... [TRUNCATED] [07:32:59.211] future_lapply() ... [07:32:59.212] | Globals in FUN(): [n=2] '{', 'getOption' [07:32:59.212] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:59.212] | future_lapply() -> future_xapply() ... [07:32:59.212] | : Number of chunks: 10 [07:32:59.213] | : getGlobalsAndPackagesXApply() ... [07:32:59.213] | : . future.globals: TRUE [07:32:59.219] | : . globals found/used: [n=1] 'FUN' [07:32:59.219] | : . needed namespaces: [n=0] [07:32:59.219] | : . use_args: TRUE [07:32:59.220] | : . Getting '...' globals ... [07:32:59.220] | : . ' '...' content: [n=0] [07:32:59.220] | : . ' List of 1 [07:32:59.220] | : . ' $ ...: list() [07:32:59.220] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.220] | : . ' - attr(*, "where")=List of 1 [07:32:59.220] | : . ' ..$ ...: [07:32:59.220] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.220] | : . ' - attr(*, "resolved")= logi TRUE [07:32:59.220] | : . ' - attr(*, "total_size")= num NA [07:32:59.223] | : . Getting '...' globals ... done [07:32:59.223] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:59.224] | : . List of 2 [07:32:59.224] | : . $ ...future.FUN:function (x) [07:32:59.224] | : . $ ... : list() [07:32:59.224] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.224] | : . - attr(*, "where")=List of 2 [07:32:59.224] | : . ..$ ...future.FUN: [07:32:59.224] | : . ..$ ... : [07:32:59.224] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.224] | : . - attr(*, "resolved")= logi FALSE [07:32:59.224] | : . - attr(*, "total_size")= num 5085 [07:32:59.227] | : . Packages to be attached in all futures: [n=0] [07:32:59.227] | : getGlobalsAndPackagesXApply() ... done [07:32:59.227] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.228] | : List of 5 [07:32:59.228] | : $ ...future.FUN :function (x) [07:32:59.228] | : $ ... : list() [07:32:59.228] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.228] | : $ ...future.elements_ii : NULL [07:32:59.228] | : $ ...future.seeds_ii : NULL [07:32:59.228] | : $ ...future.globals.maxSize: NULL [07:32:59.228] | : - attr(*, "where")=List of 5 [07:32:59.228] | : ..$ ...future.FUN : [07:32:59.228] | : ..$ ... : [07:32:59.228] | : ..$ ...future.elements_ii : [07:32:59.228] | : ..$ ...future.seeds_ii : [07:32:59.228] | : ..$ ...future.globals.maxSize: [07:32:59.228] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.228] | : - attr(*, "resolved")= logi FALSE [07:32:59.228] | : - attr(*, "total_size")= num 5085 [07:32:59.232] | : Number of futures (= number of chunks): 10 [07:32:59.233] | : Launching 10 futures (chunks) ... [07:32:59.233] | : Chunk #1 of 10 ... [07:32:59.233] | : - Finding globals in 'X' for chunk #1 ... [07:32:59.234] | : + additional globals found: [n=0] [07:32:59.234] | : + additional namespaces needed: [n=0] [07:32:59.234] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:59.234] | : - Adjusted option 'future.globals.maxSize': 2306 -> 10 * 2306 = 23056 (bytes) [07:32:59.234] | : - seeds: [07:32:59.235] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.237] | : Created future: [07:32:59.237] | : MultisessionFuture: [07:32:59.237] | : Label: 'future_lapply-1' [07:32:59.237] | : Expression: [07:32:59.237] | : { [07:32:59.237] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.237] | : "# expression in do.call(), because function called uses '...' " [07:32:59.237] | : "# as a global variable " [07:32:59.237] | : do.call(function(...) { [07:32:59.237] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.237] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.237] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.237] | : "# anonymous function. " [07:32:59.237] | : "# " [07:32:59.237] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.237] | : "# function environment of FUN() to the calling environment. " [07:32:59.237] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.237] | : "# global environment, which is where globals are written. " [07:32:59.237] | : penv <- env <- environment(...future.FUN) [07:32:59.237] | : repeat { [07:32:59.237] | : if (identical(env, globalenv()) || identical(env, [07:32:59.237] | : emptyenv())) [07:32:59.237] | : break [07:32:59.237] | : penv <- env [07:32:59.237] | : env <- parent.env(env) [07:32:59.237] | : } [07:32:59.237] | : if (identical(penv, globalenv())) { [07:32:59.237] | : environment(...future.FUN) <- environment() [07:32:59.237] | : } [07:32:59.237] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.237] | : !isNamespace(penv)) { [07:32:59.237] | : parent.env(penv) <- environment() [07:32:59.237] | : } [07:32:59.237] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.237] | : { [07:32:59.237] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.237] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.237] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.237] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.237] | : on.exit(options(oopts), add = TRUE) [07:32:59.237] | : } [07:32:59.237] | : { [07:32:59.237] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.237] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.237] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.237] | : { [07:32:59.237] | : ...future.FUN(...future.X_jj, ...) [07:32:59.237] | : } [07:32:59.237] | : }) [07:32:59.237] | : } [07:32:59.237] | : } [07:32:59.237] | : }, args = future.call.arguments) [07:32:59.237] | : } [07:32:59.237] | : Globals: 5 objects totaling 5.31 KiB (function '...future.FUN' of 407 bytes, list '...future.elements_ii' of 141 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric '...future.globals.maxSize' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes) [07:32:59.237] | : Packages: [07:32:59.237] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.237] | : Capture standard output: TRUE [07:32:59.237] | : Capture condition classes: 'condition' (excluding '') [07:32:59.237] | : Immediate condition classes: 'immediateCondition' [07:32:59.237] | : Lazy evaluation: FALSE [07:32:59.237] | : Local evaluation: TRUE [07:32:59.237] | : Asynchronous evaluation: TRUE [07:32:59.237] | : Early signaling: FALSE [07:32:59.237] | : Environment: R_GlobalEnv [07:32:59.237] | : State: 'running' [07:32:59.237] | : Resolved: TRUE [07:32:59.237] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-35 [07:32:59.237] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.237] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.237] | : Value: [07:32:59.237] | : Conditions captured: [07:32:59.241] | : Chunk #1 of 10 ... DONE [07:32:59.241] | : Chunk #2 of 10 ... [07:32:59.241] | : - Finding globals in 'X' for chunk #2 ... [07:32:59.242] | : + additional globals found: [n=0] [07:32:59.242] | : + additional namespaces needed: [n=0] [07:32:59.242] | : - Finding globals in 'X' for chunk #2 ... DONE [07:32:59.242] | : - Adjusted option 'future.globals.maxSize': 2306 -> 10 * 2306 = 23056 (bytes) [07:32:59.243] | : - seeds: [07:32:59.243] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.245] | : Created future: [07:32:59.245] | : MultisessionFuture: [07:32:59.245] | : Label: 'future_lapply-2' [07:32:59.245] | : Expression: [07:32:59.245] | : { [07:32:59.245] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.245] | : "# expression in do.call(), because function called uses '...' " [07:32:59.245] | : "# as a global variable " [07:32:59.245] | : do.call(function(...) { [07:32:59.245] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.245] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.245] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.245] | : "# anonymous function. " [07:32:59.245] | : "# " [07:32:59.245] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.245] | : "# function environment of FUN() to the calling environment. " [07:32:59.245] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.245] | : "# global environment, which is where globals are written. " [07:32:59.245] | : penv <- env <- environment(...future.FUN) [07:32:59.245] | : repeat { [07:32:59.245] | : if (identical(env, globalenv()) || identical(env, [07:32:59.245] | : emptyenv())) [07:32:59.245] | : break [07:32:59.245] | : penv <- env [07:32:59.245] | : env <- parent.env(env) [07:32:59.245] | : } [07:32:59.245] | : if (identical(penv, globalenv())) { [07:32:59.245] | : environment(...future.FUN) <- environment() [07:32:59.245] | : } [07:32:59.245] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.245] | : !isNamespace(penv)) { [07:32:59.245] | : parent.env(penv) <- environment() [07:32:59.245] | : } [07:32:59.245] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.245] | : { [07:32:59.245] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.245] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.245] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.245] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.245] | : on.exit(options(oopts), add = TRUE) [07:32:59.245] | : } [07:32:59.245] | : { [07:32:59.245] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.245] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.245] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.245] | : { [07:32:59.245] | : ...future.FUN(...future.X_jj, ...) [07:32:59.245] | : } [07:32:59.245] | : }) [07:32:59.245] | : } [07:32:59.245] | : } [07:32:59.245] | : }, args = future.call.arguments) [07:32:59.245] | : } [07:32:59.245] | : Globals: 5 objects totaling 5.31 KiB (function '...future.FUN' of 407 bytes, list '...future.elements_ii' of 141 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric '...future.globals.maxSize' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes) [07:32:59.245] | : Packages: [07:32:59.245] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.245] | : Capture standard output: TRUE [07:32:59.245] | : Capture condition classes: 'condition' (excluding '') [07:32:59.245] | : Immediate condition classes: 'immediateCondition' [07:32:59.245] | : Lazy evaluation: FALSE [07:32:59.245] | : Local evaluation: TRUE [07:32:59.245] | : Asynchronous evaluation: TRUE [07:32:59.245] | : Early signaling: FALSE [07:32:59.245] | : Environment: R_GlobalEnv [07:32:59.245] | : State: 'running' [07:32:59.245] | : Resolved: TRUE [07:32:59.245] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-36 [07:32:59.245] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.245] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.245] | : Value: [07:32:59.245] | : Conditions captured: [07:32:59.249] | : Chunk #2 of 10 ... DONE [07:32:59.249] | : Chunk #3 of 10 ... [07:32:59.250] | : - Finding globals in 'X' for chunk #3 ... [07:32:59.250] | : + additional globals found: [n=0] [07:32:59.250] | : + additional namespaces needed: [n=0] [07:32:59.250] | : - Finding globals in 'X' for chunk #3 ... DONE [07:32:59.251] | : - Adjusted option 'future.globals.maxSize': 2306 -> 10 * 2306 = 23056 (bytes) [07:32:59.251] | : - seeds: [07:32:59.251] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.253] | : Created future: [07:32:59.253] | : MultisessionFuture: [07:32:59.253] | : Label: 'future_lapply-3' [07:32:59.253] | : Expression: [07:32:59.253] | : { [07:32:59.253] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.253] | : "# expression in do.call(), because function called uses '...' " [07:32:59.253] | : "# as a global variable " [07:32:59.253] | : do.call(function(...) { [07:32:59.253] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.253] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.253] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.253] | : "# anonymous function. " [07:32:59.253] | : "# " [07:32:59.253] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.253] | : "# function environment of FUN() to the calling environment. " [07:32:59.253] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.253] | : "# global environment, which is where globals are written. " [07:32:59.253] | : penv <- env <- environment(...future.FUN) [07:32:59.253] | : repeat { [07:32:59.253] | : if (identical(env, globalenv()) || identical(env, [07:32:59.253] | : emptyenv())) [07:32:59.253] | : break [07:32:59.253] | : penv <- env [07:32:59.253] | : env <- parent.env(env) [07:32:59.253] | : } [07:32:59.253] | : if (identical(penv, globalenv())) { [07:32:59.253] | : environment(...future.FUN) <- environment() [07:32:59.253] | : } [07:32:59.253] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.253] | : !isNamespace(penv)) { [07:32:59.253] | : parent.env(penv) <- environment() [07:32:59.253] | : } [07:32:59.253] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.253] | : { [07:32:59.253] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.253] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.253] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.253] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.253] | : on.exit(options(oopts), add = TRUE) [07:32:59.253] | : } [07:32:59.253] | : { [07:32:59.253] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.253] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.253] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.253] | : { [07:32:59.253] | : ...future.FUN(...future.X_jj, ...) [07:32:59.253] | : } [07:32:59.253] | : }) [07:32:59.253] | : } [07:32:59.253] | : } [07:32:59.253] | : }, args = future.call.arguments) [07:32:59.253] | : } [07:32:59.253] | : Globals: 5 objects totaling 5.31 KiB (function '...future.FUN' of 407 bytes, list '...future.elements_ii' of 141 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric '...future.globals.maxSize' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes) [07:32:59.253] | : Packages: [07:32:59.253] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.253] | : Capture standard output: TRUE [07:32:59.253] | : Capture condition classes: 'condition' (excluding '') [07:32:59.253] | : Immediate condition classes: 'immediateCondition' [07:32:59.253] | : Lazy evaluation: FALSE [07:32:59.253] | : Local evaluation: TRUE [07:32:59.253] | : Asynchronous evaluation: TRUE [07:32:59.253] | : Early signaling: FALSE [07:32:59.253] | : Environment: R_GlobalEnv [07:32:59.253] | : State: 'running' [07:32:59.253] | : Resolved: TRUE [07:32:59.253] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-37 [07:32:59.253] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.253] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.253] | : Value: [07:32:59.253] | : Conditions captured: [07:32:59.257] | : Chunk #3 of 10 ... DONE [07:32:59.257] | : Chunk #4 of 10 ... [07:32:59.258] | : - Finding globals in 'X' for chunk #4 ... [07:32:59.258] | : + additional globals found: [n=0] [07:32:59.258] | : + additional namespaces needed: [n=0] [07:32:59.258] | : - Finding globals in 'X' for chunk #4 ... DONE [07:32:59.259] | : - Adjusted option 'future.globals.maxSize': 2306 -> 10 * 2306 = 23056 (bytes) [07:32:59.259] | : - seeds: [07:32:59.259] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.261] | : Created future: [07:32:59.261] | : MultisessionFuture: [07:32:59.261] | : Label: 'future_lapply-4' [07:32:59.261] | : Expression: [07:32:59.261] | : { [07:32:59.261] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.261] | : "# expression in do.call(), because function called uses '...' " [07:32:59.261] | : "# as a global variable " [07:32:59.261] | : do.call(function(...) { [07:32:59.261] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.261] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.261] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.261] | : "# anonymous function. " [07:32:59.261] | : "# " [07:32:59.261] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.261] | : "# function environment of FUN() to the calling environment. " [07:32:59.261] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.261] | : "# global environment, which is where globals are written. " [07:32:59.261] | : penv <- env <- environment(...future.FUN) [07:32:59.261] | : repeat { [07:32:59.261] | : if (identical(env, globalenv()) || identical(env, [07:32:59.261] | : emptyenv())) [07:32:59.261] | : break [07:32:59.261] | : penv <- env [07:32:59.261] | : env <- parent.env(env) [07:32:59.261] | : } [07:32:59.261] | : if (identical(penv, globalenv())) { [07:32:59.261] | : environment(...future.FUN) <- environment() [07:32:59.261] | : } [07:32:59.261] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.261] | : !isNamespace(penv)) { [07:32:59.261] | : parent.env(penv) <- environment() [07:32:59.261] | : } [07:32:59.261] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.261] | : { [07:32:59.261] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.261] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.261] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.261] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.261] | : on.exit(options(oopts), add = TRUE) [07:32:59.261] | : } [07:32:59.261] | : { [07:32:59.261] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.261] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.261] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.261] | : { [07:32:59.261] | : ...future.FUN(...future.X_jj, ...) [07:32:59.261] | : } [07:32:59.261] | : }) [07:32:59.261] | : } [07:32:59.261] | : } [07:32:59.261] | : }, args = future.call.arguments) [07:32:59.261] | : } [07:32:59.261] | : Globals: 5 objects totaling 5.31 KiB (function '...future.FUN' of 407 bytes, list '...future.elements_ii' of 141 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric '...future.globals.maxSize' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes) [07:32:59.261] | : Packages: [07:32:59.261] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.261] | : Capture standard output: TRUE [07:32:59.261] | : Capture condition classes: 'condition' (excluding '') [07:32:59.261] | : Immediate condition classes: 'immediateCondition' [07:32:59.261] | : Lazy evaluation: FALSE [07:32:59.261] | : Local evaluation: TRUE [07:32:59.261] | : Asynchronous evaluation: TRUE [07:32:59.261] | : Early signaling: FALSE [07:32:59.261] | : Environment: R_GlobalEnv [07:32:59.261] | : State: 'running' [07:32:59.261] | : Resolved: TRUE [07:32:59.261] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-38 [07:32:59.261] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.261] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.261] | : Value: [07:32:59.261] | : Conditions captured: [07:32:59.265] | : Chunk #4 of 10 ... DONE [07:32:59.265] | : Chunk #5 of 10 ... [07:32:59.266] | : - Finding globals in 'X' for chunk #5 ... [07:32:59.266] | : + additional globals found: [n=0] [07:32:59.266] | : + additional namespaces needed: [n=0] [07:32:59.266] | : - Finding globals in 'X' for chunk #5 ... DONE [07:32:59.267] | : - Adjusted option 'future.globals.maxSize': 2306 -> 10 * 2306 = 23056 (bytes) [07:32:59.267] | : - seeds: [07:32:59.267] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.270] | : Created future: [07:32:59.271] | : MultisessionFuture: [07:32:59.271] | : Label: 'future_lapply-5' [07:32:59.271] | : Expression: [07:32:59.271] | : { [07:32:59.271] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.271] | : "# expression in do.call(), because function called uses '...' " [07:32:59.271] | : "# as a global variable " [07:32:59.271] | : do.call(function(...) { [07:32:59.271] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.271] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.271] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.271] | : "# anonymous function. " [07:32:59.271] | : "# " [07:32:59.271] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.271] | : "# function environment of FUN() to the calling environment. " [07:32:59.271] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.271] | : "# global environment, which is where globals are written. " [07:32:59.271] | : penv <- env <- environment(...future.FUN) [07:32:59.271] | : repeat { [07:32:59.271] | : if (identical(env, globalenv()) || identical(env, [07:32:59.271] | : emptyenv())) [07:32:59.271] | : break [07:32:59.271] | : penv <- env [07:32:59.271] | : env <- parent.env(env) [07:32:59.271] | : } [07:32:59.271] | : if (identical(penv, globalenv())) { [07:32:59.271] | : environment(...future.FUN) <- environment() [07:32:59.271] | : } [07:32:59.271] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.271] | : !isNamespace(penv)) { [07:32:59.271] | : parent.env(penv) <- environment() [07:32:59.271] | : } [07:32:59.271] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.271] | : { [07:32:59.271] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.271] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.271] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.271] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.271] | : on.exit(options(oopts), add = TRUE) [07:32:59.271] | : } [07:32:59.271] | : { [07:32:59.271] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.271] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.271] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.271] | : { [07:32:59.271] | : ...future.FUN(...future.X_jj, ...) [07:32:59.271] | : } [07:32:59.271] | : }) [07:32:59.271] | : } [07:32:59.271] | : } [07:32:59.271] | : }, args = future.call.arguments) [07:32:59.271] | : } [07:32:59.271] | : Globals: 5 objects totaling 5.31 KiB (function '...future.FUN' of 407 bytes, list '...future.elements_ii' of 141 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric '...future.globals.maxSize' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes) [07:32:59.271] | : Packages: [07:32:59.271] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.271] | : Capture standard output: TRUE [07:32:59.271] | : Capture condition classes: 'condition' (excluding '') [07:32:59.271] | : Immediate condition classes: 'immediateCondition' [07:32:59.271] | : Lazy evaluation: FALSE [07:32:59.271] | : Local evaluation: TRUE [07:32:59.271] | : Asynchronous evaluation: TRUE [07:32:59.271] | : Early signaling: FALSE [07:32:59.271] | : Environment: R_GlobalEnv [07:32:59.271] | : State: 'running' [07:32:59.271] | : Resolved: TRUE [07:32:59.271] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-39 [07:32:59.271] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.271] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.271] | : Value: [07:32:59.271] | : Conditions captured: [07:32:59.276] | : Chunk #5 of 10 ... DONE [07:32:59.276] | : Chunk #6 of 10 ... [07:32:59.276] | : - Finding globals in 'X' for chunk #6 ... [07:32:59.277] | : + additional globals found: [n=0] [07:32:59.277] | : + additional namespaces needed: [n=0] [07:32:59.277] | : - Finding globals in 'X' for chunk #6 ... DONE [07:32:59.277] | : - Adjusted option 'future.globals.maxSize': 2306 -> 10 * 2306 = 23056 (bytes) [07:32:59.277] | : - seeds: [07:32:59.277] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.279] | : Created future: [07:32:59.280] | : MultisessionFuture: [07:32:59.280] | : Label: 'future_lapply-6' [07:32:59.280] | : Expression: [07:32:59.280] | : { [07:32:59.280] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.280] | : "# expression in do.call(), because function called uses '...' " [07:32:59.280] | : "# as a global variable " [07:32:59.280] | : do.call(function(...) { [07:32:59.280] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.280] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.280] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.280] | : "# anonymous function. " [07:32:59.280] | : "# " [07:32:59.280] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.280] | : "# function environment of FUN() to the calling environment. " [07:32:59.280] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.280] | : "# global environment, which is where globals are written. " [07:32:59.280] | : penv <- env <- environment(...future.FUN) [07:32:59.280] | : repeat { [07:32:59.280] | : if (identical(env, globalenv()) || identical(env, [07:32:59.280] | : emptyenv())) [07:32:59.280] | : break [07:32:59.280] | : penv <- env [07:32:59.280] | : env <- parent.env(env) [07:32:59.280] | : } [07:32:59.280] | : if (identical(penv, globalenv())) { [07:32:59.280] | : environment(...future.FUN) <- environment() [07:32:59.280] | : } [07:32:59.280] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.280] | : !isNamespace(penv)) { [07:32:59.280] | : parent.env(penv) <- environment() [07:32:59.280] | : } [07:32:59.280] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.280] | : { [07:32:59.280] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.280] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.280] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.280] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.280] | : on.exit(options(oopts), add = TRUE) [07:32:59.280] | : } [07:32:59.280] | : { [07:32:59.280] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.280] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.280] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.280] | : { [07:32:59.280] | : ...future.FUN(...future.X_jj, ...) [07:32:59.280] | : } [07:32:59.280] | : }) [07:32:59.280] | : } [07:32:59.280] | : } [07:32:59.280] | : }, args = future.call.arguments) [07:32:59.280] | : } [07:32:59.280] | : Globals: 5 objects totaling 5.31 KiB (function '...future.FUN' of 407 bytes, list '...future.elements_ii' of 141 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric '...future.globals.maxSize' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes) [07:32:59.280] | : Packages: [07:32:59.280] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.280] | : Capture standard output: TRUE [07:32:59.280] | : Capture condition classes: 'condition' (excluding '') [07:32:59.280] | : Immediate condition classes: 'immediateCondition' [07:32:59.280] | : Lazy evaluation: FALSE [07:32:59.280] | : Local evaluation: TRUE [07:32:59.280] | : Asynchronous evaluation: TRUE [07:32:59.280] | : Early signaling: FALSE [07:32:59.280] | : Environment: R_GlobalEnv [07:32:59.280] | : State: 'running' [07:32:59.280] | : Resolved: TRUE [07:32:59.280] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-40 [07:32:59.280] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.280] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.280] | : Value: [07:32:59.280] | : Conditions captured: [07:32:59.284] | : Chunk #6 of 10 ... DONE [07:32:59.284] | : Chunk #7 of 10 ... [07:32:59.284] | : - Finding globals in 'X' for chunk #7 ... [07:32:59.285] | : + additional globals found: [n=0] [07:32:59.285] | : + additional namespaces needed: [n=0] [07:32:59.285] | : - Finding globals in 'X' for chunk #7 ... DONE [07:32:59.285] | : - Adjusted option 'future.globals.maxSize': 2306 -> 10 * 2306 = 23056 (bytes) [07:32:59.285] | : - seeds: [07:32:59.286] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.287] | : Created future: [07:32:59.288] | : MultisessionFuture: [07:32:59.288] | : Label: 'future_lapply-7' [07:32:59.288] | : Expression: [07:32:59.288] | : { [07:32:59.288] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.288] | : "# expression in do.call(), because function called uses '...' " [07:32:59.288] | : "# as a global variable " [07:32:59.288] | : do.call(function(...) { [07:32:59.288] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.288] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.288] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.288] | : "# anonymous function. " [07:32:59.288] | : "# " [07:32:59.288] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.288] | : "# function environment of FUN() to the calling environment. " [07:32:59.288] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.288] | : "# global environment, which is where globals are written. " [07:32:59.288] | : penv <- env <- environment(...future.FUN) [07:32:59.288] | : repeat { [07:32:59.288] | : if (identical(env, globalenv()) || identical(env, [07:32:59.288] | : emptyenv())) [07:32:59.288] | : break [07:32:59.288] | : penv <- env [07:32:59.288] | : env <- parent.env(env) [07:32:59.288] | : } [07:32:59.288] | : if (identical(penv, globalenv())) { [07:32:59.288] | : environment(...future.FUN) <- environment() [07:32:59.288] | : } [07:32:59.288] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.288] | : !isNamespace(penv)) { [07:32:59.288] | : parent.env(penv) <- environment() [07:32:59.288] | : } [07:32:59.288] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.288] | : { [07:32:59.288] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.288] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.288] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.288] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.288] | : on.exit(options(oopts), add = TRUE) [07:32:59.288] | : } [07:32:59.288] | : { [07:32:59.288] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.288] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.288] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.288] | : { [07:32:59.288] | : ...future.FUN(...future.X_jj, ...) [07:32:59.288] | : } [07:32:59.288] | : }) [07:32:59.288] | : } [07:32:59.288] | : } [07:32:59.288] | : }, args = future.call.arguments) [07:32:59.288] | : } [07:32:59.288] | : Globals: 5 objects totaling 5.31 KiB (function '...future.FUN' of 407 bytes, list '...future.elements_ii' of 141 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric '...future.globals.maxSize' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes) [07:32:59.288] | : Packages: [07:32:59.288] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.288] | : Capture standard output: TRUE [07:32:59.288] | : Capture condition classes: 'condition' (excluding '') [07:32:59.288] | : Immediate condition classes: 'immediateCondition' [07:32:59.288] | : Lazy evaluation: FALSE [07:32:59.288] | : Local evaluation: TRUE [07:32:59.288] | : Asynchronous evaluation: TRUE [07:32:59.288] | : Early signaling: FALSE [07:32:59.288] | : Environment: R_GlobalEnv [07:32:59.288] | : State: 'running' [07:32:59.288] | : Resolved: TRUE [07:32:59.288] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-41 [07:32:59.288] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.288] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.288] | : Value: [07:32:59.288] | : Conditions captured: [07:32:59.292] | : Chunk #7 of 10 ... DONE [07:32:59.292] | : Chunk #8 of 10 ... [07:32:59.292] | : - Finding globals in 'X' for chunk #8 ... [07:32:59.293] | : + additional globals found: [n=0] [07:32:59.293] | : + additional namespaces needed: [n=0] [07:32:59.293] | : - Finding globals in 'X' for chunk #8 ... DONE [07:32:59.293] | : - Adjusted option 'future.globals.maxSize': 2306 -> 10 * 2306 = 23056 (bytes) [07:32:59.293] | : - seeds: [07:32:59.294] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.295] | : Created future: [07:32:59.296] | : MultisessionFuture: [07:32:59.296] | : Label: 'future_lapply-8' [07:32:59.296] | : Expression: [07:32:59.296] | : { [07:32:59.296] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.296] | : "# expression in do.call(), because function called uses '...' " [07:32:59.296] | : "# as a global variable " [07:32:59.296] | : do.call(function(...) { [07:32:59.296] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.296] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.296] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.296] | : "# anonymous function. " [07:32:59.296] | : "# " [07:32:59.296] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.296] | : "# function environment of FUN() to the calling environment. " [07:32:59.296] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.296] | : "# global environment, which is where globals are written. " [07:32:59.296] | : penv <- env <- environment(...future.FUN) [07:32:59.296] | : repeat { [07:32:59.296] | : if (identical(env, globalenv()) || identical(env, [07:32:59.296] | : emptyenv())) [07:32:59.296] | : break [07:32:59.296] | : penv <- env [07:32:59.296] | : env <- parent.env(env) [07:32:59.296] | : } [07:32:59.296] | : if (identical(penv, globalenv())) { [07:32:59.296] | : environment(...future.FUN) <- environment() [07:32:59.296] | : } [07:32:59.296] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.296] | : !isNamespace(penv)) { [07:32:59.296] | : parent.env(penv) <- environment() [07:32:59.296] | : } [07:32:59.296] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.296] | : { [07:32:59.296] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.296] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.296] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.296] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.296] | : on.exit(options(oopts), add = TRUE) [07:32:59.296] | : } [07:32:59.296] | : { [07:32:59.296] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.296] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.296] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.296] | : { [07:32:59.296] | : ...future.FUN(...future.X_jj, ...) [07:32:59.296] | : } [07:32:59.296] | : }) [07:32:59.296] | : } [07:32:59.296] | : } [07:32:59.296] | : }, args = future.call.arguments) [07:32:59.296] | : } [07:32:59.296] | : Globals: 5 objects totaling 5.31 KiB (function '...future.FUN' of 407 bytes, list '...future.elements_ii' of 141 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric '...future.globals.maxSize' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes) [07:32:59.296] | : Packages: [07:32:59.296] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.296] | : Capture standard output: TRUE [07:32:59.296] | : Capture condition classes: 'condition' (excluding '') [07:32:59.296] | : Immediate condition classes: 'immediateCondition' [07:32:59.296] | : Lazy evaluation: FALSE [07:32:59.296] | : Local evaluation: TRUE [07:32:59.296] | : Asynchronous evaluation: TRUE [07:32:59.296] | : Early signaling: FALSE [07:32:59.296] | : Environment: R_GlobalEnv [07:32:59.296] | : State: 'running' [07:32:59.296] | : Resolved: TRUE [07:32:59.296] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-42 [07:32:59.296] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.296] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.296] | : Value: [07:32:59.296] | : Conditions captured: [07:32:59.300] | : Chunk #8 of 10 ... DONE [07:32:59.300] | : Chunk #9 of 10 ... [07:32:59.300] | : - Finding globals in 'X' for chunk #9 ... [07:32:59.301] | : + additional globals found: [n=0] [07:32:59.301] | : + additional namespaces needed: [n=0] [07:32:59.301] | : - Finding globals in 'X' for chunk #9 ... DONE [07:32:59.301] | : - Adjusted option 'future.globals.maxSize': 2306 -> 10 * 2306 = 23056 (bytes) [07:32:59.301] | : - seeds: [07:32:59.302] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.303] | : Created future: [07:32:59.304] | : MultisessionFuture: [07:32:59.304] | : Label: 'future_lapply-9' [07:32:59.304] | : Expression: [07:32:59.304] | : { [07:32:59.304] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.304] | : "# expression in do.call(), because function called uses '...' " [07:32:59.304] | : "# as a global variable " [07:32:59.304] | : do.call(function(...) { [07:32:59.304] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.304] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.304] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.304] | : "# anonymous function. " [07:32:59.304] | : "# " [07:32:59.304] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.304] | : "# function environment of FUN() to the calling environment. " [07:32:59.304] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.304] | : "# global environment, which is where globals are written. " [07:32:59.304] | : penv <- env <- environment(...future.FUN) [07:32:59.304] | : repeat { [07:32:59.304] | : if (identical(env, globalenv()) || identical(env, [07:32:59.304] | : emptyenv())) [07:32:59.304] | : break [07:32:59.304] | : penv <- env [07:32:59.304] | : env <- parent.env(env) [07:32:59.304] | : } [07:32:59.304] | : if (identical(penv, globalenv())) { [07:32:59.304] | : environment(...future.FUN) <- environment() [07:32:59.304] | : } [07:32:59.304] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.304] | : !isNamespace(penv)) { [07:32:59.304] | : parent.env(penv) <- environment() [07:32:59.304] | : } [07:32:59.304] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.304] | : { [07:32:59.304] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.304] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.304] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.304] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.304] | : on.exit(options(oopts), add = TRUE) [07:32:59.304] | : } [07:32:59.304] | : { [07:32:59.304] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.304] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.304] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.304] | : { [07:32:59.304] | : ...future.FUN(...future.X_jj, ...) [07:32:59.304] | : } [07:32:59.304] | : }) [07:32:59.304] | : } [07:32:59.304] | : } [07:32:59.304] | : }, args = future.call.arguments) [07:32:59.304] | : } [07:32:59.304] | : Globals: 5 objects totaling 5.31 KiB (function '...future.FUN' of 407 bytes, list '...future.elements_ii' of 141 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric '...future.globals.maxSize' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes) [07:32:59.304] | : Packages: [07:32:59.304] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.304] | : Capture standard output: TRUE [07:32:59.304] | : Capture condition classes: 'condition' (excluding '') [07:32:59.304] | : Immediate condition classes: 'immediateCondition' [07:32:59.304] | : Lazy evaluation: FALSE [07:32:59.304] | : Local evaluation: TRUE [07:32:59.304] | : Asynchronous evaluation: TRUE [07:32:59.304] | : Early signaling: FALSE [07:32:59.304] | : Environment: R_GlobalEnv [07:32:59.304] | : State: 'running' [07:32:59.304] | : Resolved: TRUE [07:32:59.304] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-43 [07:32:59.304] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.304] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.304] | : Value: [07:32:59.304] | : Conditions captured: [07:32:59.308] | : Chunk #9 of 10 ... DONE [07:32:59.308] | : Chunk #10 of 10 ... [07:32:59.308] | : - Finding globals in 'X' for chunk #10 ... [07:32:59.309] | : + additional globals found: [n=0] [07:32:59.309] | : + additional namespaces needed: [n=0] [07:32:59.309] | : - Finding globals in 'X' for chunk #10 ... DONE [07:32:59.309] | : - Adjusted option 'future.globals.maxSize': 2306 -> 10 * 2306 = 23056 (bytes) [07:32:59.309] | : - seeds: [07:32:59.309] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.311] | : Created future: [07:32:59.312] | : MultisessionFuture: [07:32:59.312] | : Label: 'future_lapply-10' [07:32:59.312] | : Expression: [07:32:59.312] | : { [07:32:59.312] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.312] | : "# expression in do.call(), because function called uses '...' " [07:32:59.312] | : "# as a global variable " [07:32:59.312] | : do.call(function(...) { [07:32:59.312] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.312] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.312] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.312] | : "# anonymous function. " [07:32:59.312] | : "# " [07:32:59.312] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.312] | : "# function environment of FUN() to the calling environment. " [07:32:59.312] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.312] | : "# global environment, which is where globals are written. " [07:32:59.312] | : penv <- env <- environment(...future.FUN) [07:32:59.312] | : repeat { [07:32:59.312] | : if (identical(env, globalenv()) || identical(env, [07:32:59.312] | : emptyenv())) [07:32:59.312] | : break [07:32:59.312] | : penv <- env [07:32:59.312] | : env <- parent.env(env) [07:32:59.312] | : } [07:32:59.312] | : if (identical(penv, globalenv())) { [07:32:59.312] | : environment(...future.FUN) <- environment() [07:32:59.312] | : } [07:32:59.312] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.312] | : !isNamespace(penv)) { [07:32:59.312] | : parent.env(penv) <- environment() [07:32:59.312] | : } [07:32:59.312] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.312] | : { [07:32:59.312] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.312] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.312] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.312] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.312] | : on.exit(options(oopts), add = TRUE) [07:32:59.312] | : } [07:32:59.312] | : { [07:32:59.312] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.312] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.312] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.312] | : { [07:32:59.312] | : ...future.FUN(...future.X_jj, ...) [07:32:59.312] | : } [07:32:59.312] | : }) [07:32:59.312] | : } [07:32:59.312] | : } [07:32:59.312] | : }, args = future.call.arguments) [07:32:59.312] | : } [07:32:59.312] | : Globals: 5 objects totaling 5.31 KiB (function '...future.FUN' of 407 bytes, list '...future.elements_ii' of 141 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric '...future.globals.maxSize' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes) [07:32:59.312] | : Packages: [07:32:59.312] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.312] | : Capture standard output: TRUE [07:32:59.312] | : Capture condition classes: 'condition' (excluding '') [07:32:59.312] | : Immediate condition classes: 'immediateCondition' [07:32:59.312] | : Lazy evaluation: FALSE [07:32:59.312] | : Local evaluation: TRUE [07:32:59.312] | : Asynchronous evaluation: TRUE [07:32:59.312] | : Early signaling: FALSE [07:32:59.312] | : Environment: R_GlobalEnv [07:32:59.312] | : State: 'running' [07:32:59.312] | : Resolved: TRUE [07:32:59.312] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-44 [07:32:59.312] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.312] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.312] | : Value: [07:32:59.312] | : Conditions captured: [07:32:59.316] | : Chunk #10 of 10 ... DONE [07:32:59.316] | : Launching 10 futures (chunks) ... DONE [07:32:59.316] | : Resolving 10 futures (chunks) ... [07:32:59.319] | : - Number of value chunks collected: 10 [07:32:59.319] | : Resolving 10 futures (chunks) ... DONE [07:32:59.320] | : Reducing values from 10 chunks ... [07:32:59.320] | : - Number of values collected after concatenation: 10 [07:32:59.320] | : - Number of values expected: 10 [07:32:59.320] | : Reducing values from 10 chunks ... DONE [07:32:59.320] | future_lapply() -> future_xapply() ... done [07:32:59.320] future_lapply() ... done List of 10 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 maxSize = 2305.6 bytes future.globals.maxSize = 2305.6 bytes [07:32:59.325] future_lapply() ... [07:32:59.326] | Globals in FUN(): [n=2] '{', 'getOption' [07:32:59.326] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:59.326] | future_lapply() -> future_xapply() ... [07:32:59.326] | : Number of chunks: 5 [07:32:59.327] | : getGlobalsAndPackagesXApply() ... [07:32:59.327] | : . future.globals: TRUE [07:32:59.333] | : . globals found/used: [n=1] 'FUN' [07:32:59.333] | : . needed namespaces: [n=0] [07:32:59.333] | : . use_args: TRUE [07:32:59.333] | : . Getting '...' globals ... [07:32:59.334] | : . ' '...' content: [n=0] [07:32:59.334] | : . ' List of 1 [07:32:59.334] | : . ' $ ...: list() [07:32:59.334] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.334] | : . ' - attr(*, "where")=List of 1 [07:32:59.334] | : . ' ..$ ...: [07:32:59.334] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.334] | : . ' - attr(*, "resolved")= logi TRUE [07:32:59.334] | : . ' - attr(*, "total_size")= num NA [07:32:59.337] | : . Getting '...' globals ... done [07:32:59.337] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:59.338] | : . List of 2 [07:32:59.338] | : . $ ...future.FUN:function (x) [07:32:59.338] | : . $ ... : list() [07:32:59.338] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.338] | : . - attr(*, "where")=List of 2 [07:32:59.338] | : . ..$ ...future.FUN: [07:32:59.338] | : . ..$ ... : [07:32:59.338] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.338] | : . - attr(*, "resolved")= logi FALSE [07:32:59.338] | : . - attr(*, "total_size")= num 5085 [07:32:59.341] | : . Packages to be attached in all futures: [n=0] [07:32:59.341] | : getGlobalsAndPackagesXApply() ... done [07:32:59.341] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.342] | : List of 5 [07:32:59.342] | : $ ...future.FUN :function (x) [07:32:59.342] | : $ ... : list() [07:32:59.342] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.342] | : $ ...future.elements_ii : NULL [07:32:59.342] | : $ ...future.seeds_ii : NULL [07:32:59.342] | : $ ...future.globals.maxSize: NULL [07:32:59.342] | : - attr(*, "where")=List of 5 [07:32:59.342] | : ..$ ...future.FUN : [07:32:59.342] | : ..$ ... : [07:32:59.342] | : ..$ ...future.elements_ii : [07:32:59.342] | : ..$ ...future.seeds_ii : [07:32:59.342] | : ..$ ...future.globals.maxSize: [07:32:59.342] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.342] | : - attr(*, "resolved")= logi FALSE [07:32:59.342] | : - attr(*, "total_size")= num 5085 [07:32:59.347] | : Number of futures (= number of chunks): 5 [07:32:59.347] | : Launching 5 futures (chunks) ... [07:32:59.347] | : Chunk #1 of 5 ... [07:32:59.347] | : - Finding globals in 'X' for chunk #1 ... [07:32:59.348] | : + additional globals found: [n=0] [07:32:59.349] | : + additional namespaces needed: [n=0] [07:32:59.350] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:59.350] | : - Adjusted option 'future.globals.maxSize': 2306 -> 5 * 2306 = 11528 (bytes) [07:32:59.350] | : - seeds: [07:32:59.350] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.352] | : Created future: [07:32:59.352] | : MultisessionFuture: [07:32:59.352] | : Label: 'future_lapply-1' [07:32:59.352] | : Expression: [07:32:59.352] | : { [07:32:59.352] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.352] | : "# expression in do.call(), because function called uses '...' " [07:32:59.352] | : "# as a global variable " [07:32:59.352] | : do.call(function(...) { [07:32:59.352] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.352] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.352] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.352] | : "# anonymous function. " [07:32:59.352] | : "# " [07:32:59.352] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.352] | : "# function environment of FUN() to the calling environment. " [07:32:59.352] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.352] | : "# global environment, which is where globals are written. " [07:32:59.352] | : penv <- env <- environment(...future.FUN) [07:32:59.352] | : repeat { [07:32:59.352] | : if (identical(env, globalenv()) || identical(env, [07:32:59.352] | : emptyenv())) [07:32:59.352] | : break [07:32:59.352] | : penv <- env [07:32:59.352] | : env <- parent.env(env) [07:32:59.352] | : } [07:32:59.352] | : if (identical(penv, globalenv())) { [07:32:59.352] | : environment(...future.FUN) <- environment() [07:32:59.352] | : } [07:32:59.352] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.352] | : !isNamespace(penv)) { [07:32:59.352] | : parent.env(penv) <- environment() [07:32:59.352] | : } [07:32:59.352] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.352] | : { [07:32:59.352] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.352] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.352] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.352] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.352] | : on.exit(options(oopts), add = TRUE) [07:32:59.352] | : } [07:32:59.352] | : { [07:32:59.352] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.352] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.352] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.352] | : { [07:32:59.352] | : ...future.FUN(...future.X_jj, ...) [07:32:59.352] | : } [07:32:59.352] | : }) [07:32:59.352] | : } [07:32:59.352] | : } [07:32:59.352] | : }, args = future.call.arguments) [07:32:59.352] | : } [07:32:59.352] | : Globals: 5 objects totaling 5.38 KiB (function '...future.FUN' of 407 bytes, list '...future.elements_ii' of 217 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric '...future.globals.maxSize' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes) [07:32:59.352] | : Packages: [07:32:59.352] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.352] | : Capture standard output: TRUE [07:32:59.352] | : Capture condition classes: 'condition' (excluding '') [07:32:59.352] | : Immediate condition classes: 'immediateCondition' [07:32:59.352] | : Lazy evaluation: FALSE [07:32:59.352] | : Local evaluation: TRUE [07:32:59.352] | : Asynchronous evaluation: TRUE [07:32:59.352] | : Early signaling: FALSE [07:32:59.352] | : Environment: R_GlobalEnv [07:32:59.352] | : State: 'running' [07:32:59.352] | : Resolved: TRUE [07:32:59.352] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-45 [07:32:59.352] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.352] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.352] | : Value: [07:32:59.352] | : Conditions captured: [07:32:59.357] | : Chunk #1 of 5 ... DONE [07:32:59.357] | : Chunk #2 of 5 ... [07:32:59.357] | : - Finding globals in 'X' for chunk #2 ... [07:32:59.358] | : + additional globals found: [n=0] [07:32:59.358] | : + additional namespaces needed: [n=0] [07:32:59.358] | : - Finding globals in 'X' for chunk #2 ... DONE [07:32:59.358] | : - Adjusted option 'future.globals.maxSize': 2306 -> 5 * 2306 = 11528 (bytes) [07:32:59.358] | : - seeds: [07:32:59.358] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.361] | : Created future: [07:32:59.361] | : MultisessionFuture: [07:32:59.361] | : Label: 'future_lapply-2' [07:32:59.361] | : Expression: [07:32:59.361] | : { [07:32:59.361] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.361] | : "# expression in do.call(), because function called uses '...' " [07:32:59.361] | : "# as a global variable " [07:32:59.361] | : do.call(function(...) { [07:32:59.361] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.361] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.361] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.361] | : "# anonymous function. " [07:32:59.361] | : "# " [07:32:59.361] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.361] | : "# function environment of FUN() to the calling environment. " [07:32:59.361] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.361] | : "# global environment, which is where globals are written. " [07:32:59.361] | : penv <- env <- environment(...future.FUN) [07:32:59.361] | : repeat { [07:32:59.361] | : if (identical(env, globalenv()) || identical(env, [07:32:59.361] | : emptyenv())) [07:32:59.361] | : break [07:32:59.361] | : penv <- env [07:32:59.361] | : env <- parent.env(env) [07:32:59.361] | : } [07:32:59.361] | : if (identical(penv, globalenv())) { [07:32:59.361] | : environment(...future.FUN) <- environment() [07:32:59.361] | : } [07:32:59.361] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.361] | : !isNamespace(penv)) { [07:32:59.361] | : parent.env(penv) <- environment() [07:32:59.361] | : } [07:32:59.361] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.361] | : { [07:32:59.361] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.361] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.361] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.361] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.361] | : on.exit(options(oopts), add = TRUE) [07:32:59.361] | : } [07:32:59.361] | : { [07:32:59.361] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.361] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.361] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.361] | : { [07:32:59.361] | : ...future.FUN(...future.X_jj, ...) [07:32:59.361] | : } [07:32:59.361] | : }) [07:32:59.361] | : } [07:32:59.361] | : } [07:32:59.361] | : }, args = future.call.arguments) [07:32:59.361] | : } [07:32:59.361] | : Globals: 5 objects totaling 5.38 KiB (function '...future.FUN' of 407 bytes, list '...future.elements_ii' of 217 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric '...future.globals.maxSize' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes) [07:32:59.361] | : Packages: [07:32:59.361] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.361] | : Capture standard output: TRUE [07:32:59.361] | : Capture condition classes: 'condition' (excluding '') [07:32:59.361] | : Immediate condition classes: 'immediateCondition' [07:32:59.361] | : Lazy evaluation: FALSE [07:32:59.361] | : Local evaluation: TRUE [07:32:59.361] | : Asynchronous evaluation: TRUE [07:32:59.361] | : Early signaling: FALSE [07:32:59.361] | : Environment: R_GlobalEnv [07:32:59.361] | : State: 'running' [07:32:59.361] | : Resolved: TRUE [07:32:59.361] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-46 [07:32:59.361] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.361] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.361] | : Value: [07:32:59.361] | : Conditions captured: [07:32:59.365] | : Chunk #2 of 5 ... DONE [07:32:59.366] | : Chunk #3 of 5 ... [07:32:59.366] | : - Finding globals in 'X' for chunk #3 ... [07:32:59.366] | : + additional globals found: [n=0] [07:32:59.366] | : + additional namespaces needed: [n=0] [07:32:59.367] | : - Finding globals in 'X' for chunk #3 ... DONE [07:32:59.367] | : - Adjusted option 'future.globals.maxSize': 2306 -> 5 * 2306 = 11528 (bytes) [07:32:59.367] | : - seeds: [07:32:59.367] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.369] | : Created future: [07:32:59.369] | : MultisessionFuture: [07:32:59.369] | : Label: 'future_lapply-3' [07:32:59.369] | : Expression: [07:32:59.369] | : { [07:32:59.369] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.369] | : "# expression in do.call(), because function called uses '...' " [07:32:59.369] | : "# as a global variable " [07:32:59.369] | : do.call(function(...) { [07:32:59.369] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.369] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.369] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.369] | : "# anonymous function. " [07:32:59.369] | : "# " [07:32:59.369] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.369] | : "# function environment of FUN() to the calling environment. " [07:32:59.369] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.369] | : "# global environment, which is where globals are written. " [07:32:59.369] | : penv <- env <- environment(...future.FUN) [07:32:59.369] | : repeat { [07:32:59.369] | : if (identical(env, globalenv()) || identical(env, [07:32:59.369] | : emptyenv())) [07:32:59.369] | : break [07:32:59.369] | : penv <- env [07:32:59.369] | : env <- parent.env(env) [07:32:59.369] | : } [07:32:59.369] | : if (identical(penv, globalenv())) { [07:32:59.369] | : environment(...future.FUN) <- environment() [07:32:59.369] | : } [07:32:59.369] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.369] | : !isNamespace(penv)) { [07:32:59.369] | : parent.env(penv) <- environment() [07:32:59.369] | : } [07:32:59.369] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.369] | : { [07:32:59.369] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.369] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.369] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.369] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.369] | : on.exit(options(oopts), add = TRUE) [07:32:59.369] | : } [07:32:59.369] | : { [07:32:59.369] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.369] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.369] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.369] | : { [07:32:59.369] | : ...future.FUN(...future.X_jj, ...) [07:32:59.369] | : } [07:32:59.369] | : }) [07:32:59.369] | : } [07:32:59.369] | : } [07:32:59.369] | : }, args = future.call.arguments) [07:32:59.369] | : } [07:32:59.369] | : Globals: 5 objects totaling 5.38 KiB (function '...future.FUN' of 407 bytes, list '...future.elements_ii' of 217 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric '...future.globals.maxSize' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes) [07:32:59.369] | : Packages: [07:32:59.369] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.369] | : Capture standard output: TRUE [07:32:59.369] | : Capture condition classes: 'condition' (excluding '') [07:32:59.369] | : Immediate condition classes: 'immediateCondition' [07:32:59.369] | : Lazy evaluation: FALSE [07:32:59.369] | : Local evaluation: TRUE [07:32:59.369] | : Asynchronous evaluation: TRUE [07:32:59.369] | : Early signaling: FALSE [07:32:59.369] | : Environment: R_GlobalEnv [07:32:59.369] | : State: 'running' [07:32:59.369] | : Resolved: TRUE [07:32:59.369] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-47 [07:32:59.369] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.369] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.369] | : Value: [07:32:59.369] | : Conditions captured: [07:32:59.373] | : Chunk #3 of 5 ... DONE [07:32:59.374] | : Chunk #4 of 5 ... [07:32:59.374] | : - Finding globals in 'X' for chunk #4 ... [07:32:59.374] | : + additional globals found: [n=0] [07:32:59.374] | : + additional namespaces needed: [n=0] [07:32:59.375] | : - Finding globals in 'X' for chunk #4 ... DONE [07:32:59.375] | : - Adjusted option 'future.globals.maxSize': 2306 -> 5 * 2306 = 11528 (bytes) [07:32:59.375] | : - seeds: [07:32:59.375] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.377] | : Created future: [07:32:59.377] | : MultisessionFuture: [07:32:59.377] | : Label: 'future_lapply-4' [07:32:59.377] | : Expression: [07:32:59.377] | : { [07:32:59.377] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.377] | : "# expression in do.call(), because function called uses '...' " [07:32:59.377] | : "# as a global variable " [07:32:59.377] | : do.call(function(...) { [07:32:59.377] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.377] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.377] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.377] | : "# anonymous function. " [07:32:59.377] | : "# " [07:32:59.377] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.377] | : "# function environment of FUN() to the calling environment. " [07:32:59.377] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.377] | : "# global environment, which is where globals are written. " [07:32:59.377] | : penv <- env <- environment(...future.FUN) [07:32:59.377] | : repeat { [07:32:59.377] | : if (identical(env, globalenv()) || identical(env, [07:32:59.377] | : emptyenv())) [07:32:59.377] | : break [07:32:59.377] | : penv <- env [07:32:59.377] | : env <- parent.env(env) [07:32:59.377] | : } [07:32:59.377] | : if (identical(penv, globalenv())) { [07:32:59.377] | : environment(...future.FUN) <- environment() [07:32:59.377] | : } [07:32:59.377] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.377] | : !isNamespace(penv)) { [07:32:59.377] | : parent.env(penv) <- environment() [07:32:59.377] | : } [07:32:59.377] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.377] | : { [07:32:59.377] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.377] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.377] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.377] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.377] | : on.exit(options(oopts), add = TRUE) [07:32:59.377] | : } [07:32:59.377] | : { [07:32:59.377] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.377] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.377] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.377] | : { [07:32:59.377] | : ...future.FUN(...future.X_jj, ...) [07:32:59.377] | : } [07:32:59.377] | : }) [07:32:59.377] | : } [07:32:59.377] | : } [07:32:59.377] | : }, args = future.call.arguments) [07:32:59.377] | : } [07:32:59.377] | : Globals: 5 objects totaling 5.38 KiB (function '...future.FUN' of 407 bytes, list '...future.elements_ii' of 217 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric '...future.globals.maxSize' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes) [07:32:59.377] | : Packages: [07:32:59.377] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.377] | : Capture standard output: TRUE [07:32:59.377] | : Capture condition classes: 'condition' (excluding '') [07:32:59.377] | : Immediate condition classes: 'immediateCondition' [07:32:59.377] | : Lazy evaluation: FALSE [07:32:59.377] | : Local evaluation: TRUE [07:32:59.377] | : Asynchronous evaluation: TRUE [07:32:59.377] | : Early signaling: FALSE [07:32:59.377] | : Environment: R_GlobalEnv [07:32:59.377] | : State: 'running' [07:32:59.377] | : Resolved: TRUE [07:32:59.377] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-48 [07:32:59.377] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.377] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.377] | : Value: [07:32:59.377] | : Conditions captured: [07:32:59.381] | : Chunk #4 of 5 ... DONE [07:32:59.382] | : Chunk #5 of 5 ... [07:32:59.382] | : - Finding globals in 'X' for chunk #5 ... [07:32:59.382] | : + additional globals found: [n=0] [07:32:59.382] | : + additional namespaces needed: [n=0] [07:32:59.383] | : - Finding globals in 'X' for chunk #5 ... DONE [07:32:59.383] | : - Adjusted option 'future.globals.maxSize': 2306 -> 5 * 2306 = 11528 (bytes) [07:32:59.383] | : - seeds: [07:32:59.383] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.385] | : Created future: [07:32:59.385] | : MultisessionFuture: [07:32:59.385] | : Label: 'future_lapply-5' [07:32:59.385] | : Expression: [07:32:59.385] | : { [07:32:59.385] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.385] | : "# expression in do.call(), because function called uses '...' " [07:32:59.385] | : "# as a global variable " [07:32:59.385] | : do.call(function(...) { [07:32:59.385] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.385] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.385] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.385] | : "# anonymous function. " [07:32:59.385] | : "# " [07:32:59.385] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.385] | : "# function environment of FUN() to the calling environment. " [07:32:59.385] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.385] | : "# global environment, which is where globals are written. " [07:32:59.385] | : penv <- env <- environment(...future.FUN) [07:32:59.385] | : repeat { [07:32:59.385] | : if (identical(env, globalenv()) || identical(env, [07:32:59.385] | : emptyenv())) [07:32:59.385] | : break [07:32:59.385] | : penv <- env [07:32:59.385] | : env <- parent.env(env) [07:32:59.385] | : } [07:32:59.385] | : if (identical(penv, globalenv())) { [07:32:59.385] | : environment(...future.FUN) <- environment() [07:32:59.385] | : } [07:32:59.385] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.385] | : !isNamespace(penv)) { [07:32:59.385] | : parent.env(penv) <- environment() [07:32:59.385] | : } [07:32:59.385] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.385] | : { [07:32:59.385] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.385] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.385] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.385] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.385] | : on.exit(options(oopts), add = TRUE) [07:32:59.385] | : } [07:32:59.385] | : { [07:32:59.385] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.385] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.385] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.385] | : { [07:32:59.385] | : ...future.FUN(...future.X_jj, ...) [07:32:59.385] | : } [07:32:59.385] | : }) [07:32:59.385] | : } [07:32:59.385] | : } [07:32:59.385] | : }, args = future.call.arguments) [07:32:59.385] | : } [07:32:59.385] | : Globals: 5 objects totaling 5.38 KiB (function '...future.FUN' of 407 bytes, list '...future.elements_ii' of 217 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric '...future.globals.maxSize' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes) [07:32:59.385] | : Packages: [07:32:59.385] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.385] | : Capture standard output: TRUE [07:32:59.385] | : Capture condition classes: 'condition' (excluding '') [07:32:59.385] | : Immediate condition classes: 'immediateCondition' [07:32:59.385] | : Lazy evaluation: FALSE [07:32:59.385] | : Local evaluation: TRUE [07:32:59.385] | : Asynchronous evaluation: TRUE [07:32:59.385] | : Early signaling: FALSE [07:32:59.385] | : Environment: R_GlobalEnv [07:32:59.385] | : State: 'running' [07:32:59.385] | : Resolved: TRUE [07:32:59.385] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-49 [07:32:59.385] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.385] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.385] | : Value: [07:32:59.385] | : Conditions captured: [07:32:59.390] | : Chunk #5 of 5 ... DONE [07:32:59.390] | : Launching 5 futures (chunks) ... DONE [07:32:59.390] | : Resolving 5 futures (chunks) ... [07:32:59.392] | : - Number of value chunks collected: 5 [07:32:59.392] | : Resolving 5 futures (chunks) ... DONE [07:32:59.392] | : Reducing values from 5 chunks ... [07:32:59.392] | : - Number of values collected after concatenation: 10 [07:32:59.392] | : - Number of values expected: 10 [07:32:59.393] | : Reducing values from 5 chunks ... DONE [07:32:59.393] | future_lapply() -> future_xapply() ... done [07:32:59.393] future_lapply() ... done List of 10 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 maxSize = 2305.6 bytes future.globals.maxSize = 2305.6 bytes [07:32:59.397] future_lapply() ... [07:32:59.398] | Globals in FUN(): [n=2] '{', 'getOption' [07:32:59.398] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:59.398] | future_lapply() -> future_xapply() ... [07:32:59.399] | : Number of chunks: 2 [07:32:59.399] | : getGlobalsAndPackagesXApply() ... [07:32:59.399] | : . future.globals: TRUE [07:32:59.405] | : . globals found/used: [n=1] 'FUN' [07:32:59.405] | : . needed namespaces: [n=0] [07:32:59.406] | : . use_args: TRUE [07:32:59.406] | : . Getting '...' globals ... [07:32:59.406] | : . ' '...' content: [n=0] [07:32:59.406] | : . ' List of 1 [07:32:59.406] | : . ' $ ...: list() [07:32:59.406] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.406] | : . ' - attr(*, "where")=List of 1 [07:32:59.406] | : . ' ..$ ...: [07:32:59.406] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.406] | : . ' - attr(*, "resolved")= logi TRUE [07:32:59.406] | : . ' - attr(*, "total_size")= num NA [07:32:59.409] | : . Getting '...' globals ... done [07:32:59.410] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:59.410] | : . List of 2 [07:32:59.410] | : . $ ...future.FUN:function (x) [07:32:59.410] | : . $ ... : list() [07:32:59.410] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.410] | : . - attr(*, "where")=List of 2 [07:32:59.410] | : . ..$ ...future.FUN: [07:32:59.410] | : . ..$ ... : [07:32:59.410] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.410] | : . - attr(*, "resolved")= logi FALSE [07:32:59.410] | : . - attr(*, "total_size")= num 5085 [07:32:59.413] | : . Packages to be attached in all futures: [n=0] [07:32:59.413] | : getGlobalsAndPackagesXApply() ... done [07:32:59.413] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.414] | : List of 5 [07:32:59.414] | : $ ...future.FUN :function (x) [07:32:59.414] | : $ ... : list() [07:32:59.414] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.414] | : $ ...future.elements_ii : NULL [07:32:59.414] | : $ ...future.seeds_ii : NULL [07:32:59.414] | : $ ...future.globals.maxSize: NULL [07:32:59.414] | : - attr(*, "where")=List of 5 [07:32:59.414] | : ..$ ...future.FUN : [07:32:59.414] | : ..$ ... : [07:32:59.414] | : ..$ ...future.elements_ii : [07:32:59.414] | : ..$ ...future.seeds_ii : [07:32:59.414] | : ..$ ...future.globals.maxSize: [07:32:59.414] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.414] | : - attr(*, "resolved")= logi FALSE [07:32:59.414] | : - attr(*, "total_size")= num 5085 [07:32:59.419] | : Number of futures (= number of chunks): 2 [07:32:59.419] | : Launching 2 futures (chunks) ... [07:32:59.419] | : Chunk #1 of 2 ... [07:32:59.419] | : - Finding globals in 'X' for chunk #1 ... [07:32:59.420] | : + additional globals found: [n=0] [07:32:59.420] | : + additional namespaces needed: [n=0] [07:32:59.420] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:59.420] | : - Adjusted option 'future.globals.maxSize': 2306 -> 2 * 2306 = 4611 (bytes) [07:32:59.420] | : - seeds: [07:32:59.421] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.423] | : Created future: [07:32:59.423] | : MultisessionFuture: [07:32:59.423] | : Label: 'future_lapply-1' [07:32:59.423] | : Expression: [07:32:59.423] | : { [07:32:59.423] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.423] | : "# expression in do.call(), because function called uses '...' " [07:32:59.423] | : "# as a global variable " [07:32:59.423] | : do.call(function(...) { [07:32:59.423] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.423] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.423] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.423] | : "# anonymous function. " [07:32:59.423] | : "# " [07:32:59.423] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.423] | : "# function environment of FUN() to the calling environment. " [07:32:59.423] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.423] | : "# global environment, which is where globals are written. " [07:32:59.423] | : penv <- env <- environment(...future.FUN) [07:32:59.423] | : repeat { [07:32:59.423] | : if (identical(env, globalenv()) || identical(env, [07:32:59.423] | : emptyenv())) [07:32:59.423] | : break [07:32:59.423] | : penv <- env [07:32:59.423] | : env <- parent.env(env) [07:32:59.423] | : } [07:32:59.423] | : if (identical(penv, globalenv())) { [07:32:59.423] | : environment(...future.FUN) <- environment() [07:32:59.423] | : } [07:32:59.423] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.423] | : !isNamespace(penv)) { [07:32:59.423] | : parent.env(penv) <- environment() [07:32:59.423] | : } [07:32:59.423] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.423] | : { [07:32:59.423] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.423] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.423] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.423] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.423] | : on.exit(options(oopts), add = TRUE) [07:32:59.423] | : } [07:32:59.423] | : { [07:32:59.423] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.423] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.423] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.423] | : { [07:32:59.423] | : ...future.FUN(...future.X_jj, ...) [07:32:59.423] | : } [07:32:59.423] | : }) [07:32:59.423] | : } [07:32:59.423] | : } [07:32:59.423] | : }, args = future.call.arguments) [07:32:59.423] | : } [07:32:59.423] | : Globals: 5 objects totaling 5.61 KiB (list '...future.elements_ii' of 445 bytes, function '...future.FUN' of 407 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric '...future.globals.maxSize' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes) [07:32:59.423] | : Packages: [07:32:59.423] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.423] | : Capture standard output: TRUE [07:32:59.423] | : Capture condition classes: 'condition' (excluding '') [07:32:59.423] | : Immediate condition classes: 'immediateCondition' [07:32:59.423] | : Lazy evaluation: FALSE [07:32:59.423] | : Local evaluation: TRUE [07:32:59.423] | : Asynchronous evaluation: TRUE [07:32:59.423] | : Early signaling: FALSE [07:32:59.423] | : Environment: R_GlobalEnv [07:32:59.423] | : State: 'running' [07:32:59.423] | : Resolved: TRUE [07:32:59.423] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-50 [07:32:59.423] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.423] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.423] | : Value: [07:32:59.423] | : Conditions captured: [07:32:59.427] | : Chunk #1 of 2 ... DONE [07:32:59.427] | : Chunk #2 of 2 ... [07:32:59.427] | : - Finding globals in 'X' for chunk #2 ... [07:32:59.428] | : + additional globals found: [n=0] [07:32:59.430] | : + additional namespaces needed: [n=0] [07:32:59.430] | : - Finding globals in 'X' for chunk #2 ... DONE [07:32:59.430] | : - Adjusted option 'future.globals.maxSize': 2306 -> 2 * 2306 = 4611 (bytes) [07:32:59.430] | : - seeds: [07:32:59.430] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.432] | : Created future: [07:32:59.432] | : MultisessionFuture: [07:32:59.432] | : Label: 'future_lapply-2' [07:32:59.432] | : Expression: [07:32:59.432] | : { [07:32:59.432] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.432] | : "# expression in do.call(), because function called uses '...' " [07:32:59.432] | : "# as a global variable " [07:32:59.432] | : do.call(function(...) { [07:32:59.432] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.432] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.432] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.432] | : "# anonymous function. " [07:32:59.432] | : "# " [07:32:59.432] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.432] | : "# function environment of FUN() to the calling environment. " [07:32:59.432] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.432] | : "# global environment, which is where globals are written. " [07:32:59.432] | : penv <- env <- environment(...future.FUN) [07:32:59.432] | : repeat { [07:32:59.432] | : if (identical(env, globalenv()) || identical(env, [07:32:59.432] | : emptyenv())) [07:32:59.432] | : break [07:32:59.432] | : penv <- env [07:32:59.432] | : env <- parent.env(env) [07:32:59.432] | : } [07:32:59.432] | : if (identical(penv, globalenv())) { [07:32:59.432] | : environment(...future.FUN) <- environment() [07:32:59.432] | : } [07:32:59.432] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.432] | : !isNamespace(penv)) { [07:32:59.432] | : parent.env(penv) <- environment() [07:32:59.432] | : } [07:32:59.432] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.432] | : { [07:32:59.432] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.432] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.432] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.432] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.432] | : on.exit(options(oopts), add = TRUE) [07:32:59.432] | : } [07:32:59.432] | : { [07:32:59.432] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.432] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.432] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.432] | : { [07:32:59.432] | : ...future.FUN(...future.X_jj, ...) [07:32:59.432] | : } [07:32:59.432] | : }) [07:32:59.432] | : } [07:32:59.432] | : } [07:32:59.432] | : }, args = future.call.arguments) [07:32:59.432] | : } [07:32:59.432] | : Globals: 5 objects totaling 5.61 KiB (list '...future.elements_ii' of 445 bytes, function '...future.FUN' of 407 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric '...future.globals.maxSize' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes) [07:32:59.432] | : Packages: [07:32:59.432] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.432] | : Capture standard output: TRUE [07:32:59.432] | : Capture condition classes: 'condition' (excluding '') [07:32:59.432] | : Immediate condition classes: 'immediateCondition' [07:32:59.432] | : Lazy evaluation: FALSE [07:32:59.432] | : Local evaluation: TRUE [07:32:59.432] | : Asynchronous evaluation: TRUE [07:32:59.432] | : Early signaling: FALSE [07:32:59.432] | : Environment: R_GlobalEnv [07:32:59.432] | : State: 'running' [07:32:59.432] | : Resolved: TRUE [07:32:59.432] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-51 [07:32:59.432] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.432] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.432] | : Value: [07:32:59.432] | : Conditions captured: [07:32:59.437] | : Chunk #2 of 2 ... DONE [07:32:59.437] | : Launching 2 futures (chunks) ... DONE [07:32:59.437] | : Resolving 2 futures (chunks) ... [07:32:59.438] | : - Number of value chunks collected: 2 [07:32:59.438] | : Resolving 2 futures (chunks) ... DONE [07:32:59.438] | : Reducing values from 2 chunks ... [07:32:59.438] | : - Number of values collected after concatenation: 10 [07:32:59.439] | : - Number of values expected: 10 [07:32:59.439] | : Reducing values from 2 chunks ... DONE [07:32:59.439] | future_lapply() -> future_xapply() ... done [07:32:59.439] future_lapply() ... done List of 10 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 maxSize = 2305.6 bytes future.globals.maxSize = 2305.6 bytes [07:32:59.443] future_lapply() ... [07:32:59.444] | Globals in FUN(): [n=2] '{', 'getOption' [07:32:59.444] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:59.444] | future_lapply() -> future_xapply() ... [07:32:59.445] | : Number of chunks: 1 [07:32:59.445] | : getGlobalsAndPackagesXApply() ... [07:32:59.445] | : . future.globals: TRUE [07:32:59.451] | : . globals found/used: [n=1] 'FUN' [07:32:59.451] | : . needed namespaces: [n=0] [07:32:59.452] | : . use_args: TRUE [07:32:59.452] | : . Getting '...' globals ... [07:32:59.452] | : . ' '...' content: [n=0] [07:32:59.452] | : . ' List of 1 [07:32:59.452] | : . ' $ ...: list() [07:32:59.452] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.452] | : . ' - attr(*, "where")=List of 1 [07:32:59.452] | : . ' ..$ ...: [07:32:59.452] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.452] | : . ' - attr(*, "resolved")= logi TRUE [07:32:59.452] | : . ' - attr(*, "total_size")= num NA [07:32:59.455] | : . Getting '...' globals ... done [07:32:59.456] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:59.456] | : . List of 2 [07:32:59.456] | : . $ ...future.FUN:function (x) [07:32:59.456] | : . $ ... : list() [07:32:59.456] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.456] | : . - attr(*, "where")=List of 2 [07:32:59.456] | : . ..$ ...future.FUN: [07:32:59.456] | : . ..$ ... : [07:32:59.456] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.456] | : . - attr(*, "resolved")= logi FALSE [07:32:59.456] | : . - attr(*, "total_size")= num 5085 [07:32:59.459] | : . Packages to be attached in all futures: [n=0] [07:32:59.459] | : getGlobalsAndPackagesXApply() ... done [07:32:59.459] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.460] | : List of 5 [07:32:59.460] | : $ ...future.FUN :function (x) [07:32:59.460] | : $ ... : list() [07:32:59.460] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.460] | : $ ...future.elements_ii : NULL [07:32:59.460] | : $ ...future.seeds_ii : NULL [07:32:59.460] | : $ ...future.globals.maxSize: NULL [07:32:59.460] | : - attr(*, "where")=List of 5 [07:32:59.460] | : ..$ ...future.FUN : [07:32:59.460] | : ..$ ... : [07:32:59.460] | : ..$ ...future.elements_ii : [07:32:59.460] | : ..$ ...future.seeds_ii : [07:32:59.460] | : ..$ ...future.globals.maxSize: [07:32:59.460] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.460] | : - attr(*, "resolved")= logi FALSE [07:32:59.460] | : - attr(*, "total_size")= num 5085 [07:32:59.465] | : Number of futures (= number of chunks): 1 [07:32:59.465] | : Launching 1 futures (chunks) ... [07:32:59.465] | : Chunk #1 of 1 ... [07:32:59.465] | : - Finding globals in 'X' for chunk #1 ... [07:32:59.466] | : + additional globals found: [n=0] [07:32:59.466] | : + additional namespaces needed: [n=0] [07:32:59.466] | : - Finding globals in 'X' for chunk #1 ... DONE [07:32:59.466] | : - seeds: [07:32:59.466] | : - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.468] | : Created future: [07:32:59.469] | : MultisessionFuture: [07:32:59.469] | : Label: 'future_lapply-1' [07:32:59.469] | : Expression: [07:32:59.469] | : { [07:32:59.469] | : "# future::getGlobalsAndPackages(): wrapping the original future" [07:32:59.469] | : "# expression in do.call(), because function called uses '...' " [07:32:59.469] | : "# as a global variable " [07:32:59.469] | : do.call(function(...) { [07:32:59.469] | : "# future::getGlobalsAndPackages(): FUN() uses '...' internally " [07:32:59.469] | : "# without having an '...' argument. This means '...' is treated" [07:32:59.469] | : "# as a global variable. This may happen when FUN() is an " [07:32:59.469] | : "# anonymous function. " [07:32:59.469] | : "# " [07:32:59.469] | : "# If an anonymous function, we will make sure to restore the " [07:32:59.469] | : "# function environment of FUN() to the calling environment. " [07:32:59.469] | : "# We assume FUN() an anonymous function if it lives in the " [07:32:59.469] | : "# global environment, which is where globals are written. " [07:32:59.469] | : penv <- env <- environment(...future.FUN) [07:32:59.469] | : repeat { [07:32:59.469] | : if (identical(env, globalenv()) || identical(env, [07:32:59.469] | : emptyenv())) [07:32:59.469] | : break [07:32:59.469] | : penv <- env [07:32:59.469] | : env <- parent.env(env) [07:32:59.469] | : } [07:32:59.469] | : if (identical(penv, globalenv())) { [07:32:59.469] | : environment(...future.FUN) <- environment() [07:32:59.469] | : } [07:32:59.469] | : else if (!identical(penv, emptyenv()) && !is.null(penv) && [07:32:59.469] | : !isNamespace(penv)) { [07:32:59.469] | : parent.env(penv) <- environment() [07:32:59.469] | : } [07:32:59.469] | : rm(list = c("env", "penv"), inherits = FALSE) [07:32:59.469] | : { [07:32:59.469] | : "# future.apply:::future_xapply(): preserve future option" [07:32:59.469] | : ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [07:32:59.469] | : if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [07:32:59.469] | : oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [07:32:59.469] | : on.exit(options(oopts), add = TRUE) [07:32:59.469] | : } [07:32:59.469] | : { [07:32:59.469] | : "# future.apply::future_lapply(): process chunk of elements" [07:32:59.469] | : lapply(seq_along(...future.elements_ii), FUN = function(jj) { [07:32:59.469] | : ...future.X_jj <- ...future.elements_ii[[jj]] [07:32:59.469] | : { [07:32:59.469] | : ...future.FUN(...future.X_jj, ...) [07:32:59.469] | : } [07:32:59.469] | : }) [07:32:59.469] | : } [07:32:59.469] | : } [07:32:59.469] | : }, args = future.call.arguments) [07:32:59.469] | : } [07:32:59.469] | : Globals: 5 objects totaling 5.98 KiB (list '...future.elements_ii' of 825 bytes, function '...future.FUN' of 407 bytes, DotDotDotList 'future.call.arguments' of 97 bytes, numeric '...future.globals.maxSize' of 39 bytes, NULL '...future.seeds_ii' of 27 bytes) [07:32:59.469] | : Packages: [07:32:59.469] | : L'Ecuyer-CMRG RNG seed: (seed = FALSE) [07:32:59.469] | : Capture standard output: TRUE [07:32:59.469] | : Capture condition classes: 'condition' (excluding '') [07:32:59.469] | : Immediate condition classes: 'immediateCondition' [07:32:59.469] | : Lazy evaluation: FALSE [07:32:59.469] | : Local evaluation: TRUE [07:32:59.469] | : Asynchronous evaluation: TRUE [07:32:59.469] | : Early signaling: FALSE [07:32:59.469] | : Environment: R_GlobalEnv [07:32:59.469] | : State: 'running' [07:32:59.469] | : Resolved: TRUE [07:32:59.469] | : Unique identifier: 4c76da8a37caa41bd729c56e358b719d-52 [07:32:59.469] | : Owner process: 4c76da8a37caa41bd729c56e358b719d [07:32:59.469] | : Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future' [07:32:59.469] | : Value: [07:32:59.469] | : Conditions captured: [07:32:59.474] | : Chunk #1 of 1 ... DONE [07:32:59.474] | : Launching 1 futures (chunks) ... DONE [07:32:59.474] | : Resolving 1 futures (chunks) ... [07:32:59.475] | : - Number of value chunks collected: 1 [07:32:59.475] | : Resolving 1 futures (chunks) ... DONE [07:32:59.475] | : Reducing values from 1 chunks ... [07:32:59.475] | : - Number of values collected after concatenation: 10 [07:32:59.475] | : - Number of values expected: 10 [07:32:59.475] | : Reducing values from 1 chunks ... DONE [07:32:59.476] | future_lapply() -> future_xapply() ... done [07:32:59.476] future_lapply() ... done List of 10 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 $ : num 2306 maxSize = 2305.6 bytes future.globals.maxSize = 2305.6 bytes > y <- NULL > options(future.globals.maxSize = oMaxSize) > message("*** future_lapply() - too large ... DONE") *** future_lapply() - too large ... DONE > message("*** future_lapply() - globals exceptions ...") *** future_lapply() - globals exceptions ... > res <- tryCatch({ + y <- future_lapply(1, FUN = function(x) x, future.globals = 42) + }, error = identity) [07:32:59.481] future_lapply() ... [07:32:59.481] | Globals in FUN(): [n=0] [07:32:59.481] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:59.482] | future_lapply() -> future_xapply() ... [07:32:59.482] | : Number of chunks: 1 [07:32:59.482] | : getGlobalsAndPackagesXApply() ... [07:32:59.482] | : getGlobalsAndPackagesXApply() ... done [07:32:59.483] | future_lapply() -> future_xapply() ... done [07:32:59.483] future_lapply() ... done > stopifnot(inherits(res, "error")) > res <- tryCatch({ + y <- future_lapply(1, FUN = function(x) x, future.globals = list(1)) + }, error = identity) [07:32:59.483] future_lapply() ... [07:32:59.484] | Globals in FUN(): [n=0] [07:32:59.484] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:59.484] | future_lapply() -> future_xapply() ... [07:32:59.484] | : Number of chunks: 1 [07:32:59.485] | : getGlobalsAndPackagesXApply() ... [07:32:59.485] | : . future.globals: with names [07:32:59.485] | : getGlobalsAndPackagesXApply() ... done [07:32:59.485] | future_lapply() -> future_xapply() ... done [07:32:59.485] future_lapply() ... done > stopifnot(inherits(res, "error")) > res <- tryCatch({ + y <- future_lapply(1, FUN = function(x) x, future.globals = "...future.FUN") + }, error = identity) [07:32:59.486] future_lapply() ... [07:32:59.486] | Globals in FUN(): [n=0] [07:32:59.486] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:59.487] | future_lapply() -> future_xapply() ... [07:32:59.487] | : Number of chunks: 1 [07:32:59.487] | : getGlobalsAndPackagesXApply() ... [07:32:59.487] | : . future.globals: '...future.FUN' [07:32:59.488] | : . use_args: TRUE [07:32:59.488] | : getGlobalsAndPackagesXApply() ... done [07:32:59.488] | future_lapply() -> future_xapply() ... done [07:32:59.488] future_lapply() ... done > stopifnot(inherits(res, "error")) > res <- tryCatch({ + y <- future_lapply(1, FUN = function(x) x, future.globals = "...future.FUN") + }, error = identity) [07:32:59.489] future_lapply() ... [07:32:59.489] | Globals in FUN(): [n=0] [07:32:59.490] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:59.490] | future_lapply() -> future_xapply() ... [07:32:59.490] | : Number of chunks: 1 [07:32:59.490] | : getGlobalsAndPackagesXApply() ... [07:32:59.490] | : . future.globals: '...future.FUN' [07:32:59.491] | : . use_args: TRUE [07:32:59.491] | : getGlobalsAndPackagesXApply() ... done [07:32:59.491] | future_lapply() -> future_xapply() ... done [07:32:59.491] future_lapply() ... done > stopifnot(inherits(res, "error")) > ...future.elements_ii <- 42 > X <- list(function() 2 * ...future.elements_ii) > res <- tryCatch({ + y <- future_lapply(X, FUN = function(f) f()) + }, error = identity) [07:32:59.492] future_lapply() ... [07:32:59.493] | Globals in FUN(): [n=0] [07:32:59.493] | => Will pass '...' to FUN(): '{', ' ...future.FUN(...future.X_jj, ...)', '}' [07:32:59.493] | future_lapply() -> future_xapply() ... [07:32:59.493] | : Number of chunks: 1 [07:32:59.494] | : getGlobalsAndPackagesXApply() ... [07:32:59.494] | : . future.globals: TRUE [07:32:59.500] | : . globals found/used: [n=1] 'FUN' [07:32:59.500] | : . needed namespaces: [n=0] [07:32:59.501] | : . use_args: TRUE [07:32:59.501] | : . Getting '...' globals ... [07:32:59.501] | : . ' '...' content: [n=0] [07:32:59.502] | : . ' List of 1 [07:32:59.502] | : . ' $ ...: list() [07:32:59.502] | : . ' ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.502] | : . ' - attr(*, "where")=List of 1 [07:32:59.502] | : . ' ..$ ...: [07:32:59.502] | : . ' - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.502] | : . ' - attr(*, "resolved")= logi TRUE [07:32:59.502] | : . ' - attr(*, "total_size")= num NA [07:32:59.505] | : . Getting '...' globals ... done [07:32:59.505] | : . Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [07:32:59.505] | : . List of 2 [07:32:59.505] | : . $ ...future.FUN:function (f) [07:32:59.505] | : . $ ... : list() [07:32:59.505] | : . ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.505] | : . - attr(*, "where")=List of 2 [07:32:59.505] | : . ..$ ...future.FUN: [07:32:59.505] | : . ..$ ... : [07:32:59.505] | : . - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.505] | : . - attr(*, "resolved")= logi FALSE [07:32:59.505] | : . - attr(*, "total_size")= num 3255 [07:32:59.509] | : . Packages to be attached in all futures: [n=0] [07:32:59.509] | : getGlobalsAndPackagesXApply() ... done [07:32:59.509] | : Globals pass to each chunk: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [07:32:59.510] | : List of 5 [07:32:59.510] | : $ ...future.FUN :function (f) [07:32:59.510] | : $ ... : list() [07:32:59.510] | : ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [07:32:59.510] | : $ ...future.elements_ii : NULL [07:32:59.510] | : $ ...future.seeds_ii : NULL [07:32:59.510] | : $ ...future.globals.maxSize: NULL [07:32:59.510] | : - attr(*, "where")=List of 5 [07:32:59.510] | : ..$ ...future.FUN : [07:32:59.510] | : ..$ ... : [07:32:59.510] | : ..$ ...future.elements_ii : [07:32:59.510] | : ..$ ...future.seeds_ii : [07:32:59.510] | : ..$ ...future.globals.maxSize: [07:32:59.510] | : - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [07:32:59.510] | : - attr(*, "resolved")= logi FALSE [07:32:59.510] | : - attr(*, "total_size")= num 3255 [07:32:59.515] | : Number of futures (= number of chunks): 1 [07:32:59.515] | : Launching 1 futures (chunks) ... [07:32:59.515] | : Chunk #1 of 1 ... [07:32:59.515] | : - Finding globals in 'X' for chunk #1 ... [07:32:59.522] | : + additional globals found: [n=1] '...future.elements_ii' [07:32:59.522] | : + additional namespaces needed: [n=0] [07:32:59.523] | : onError() ... [07:32:59.523] | : . Received Warning: Caught simpleError. Canceling all iterations ... [07:32:59.523] | : . Signaling: [07:32:59.523] | : onError() ... done [07:32:59.524] | future_lapply() -> future_xapply() ... done [07:32:59.524] future_lapply() ... done > stopifnot(inherits(res, "error")) > message("*** future_lapply() - globals exceptions ... DONE") *** future_lapply() - globals exceptions ... DONE Sourcing 6 epilogue scripts ... 01/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future.apply/testme/_epilogue/001.undo-future.R' 02/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future.apply/testme/_epilogue/002.undo-state.R' Failed to undo environment variables: - Expected environment variables: [n=215] '!ExitCode', 'ALLUSERSPROFILE', 'APPDATA', 'BIBINPUTS', 'BINDIR', 'BSTINPUTS', 'COMMONPROGRAMFILES', 'COMPUTERNAME', 'COMSPEC', 'CURL_CA_BUNDLE', 'CV_Instance001', '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', 'TETRAD_DIR', '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_INTERNAL__', '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.apply/testme/_epilogue/090.gc.R' 04/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future.apply/testme/_epilogue/099.session_info.R' 05/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future.apply/testme/_epilogue/995.detritus-connections.R' 06/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future.apply/testme/_epilogue/999.detritus-files.R' Skipping, because path appears not to be an 'R CMD check' folder: 'D:/temp/2025_12_09_07_25_17_22044' Sourcing 6 epilogue scripts ... done Test time: user.self=2s, sys.self=0.1s, elapsed=3s, user.child=NAs, sys.child=NAs Test 'future_lapply,globals' ... success > > proc.time() user system elapsed 2.31 0.21 3.59