CRAN Package Check Results for Package doFuture

Last updated on 2025-03-14 19:49:36 CET.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 1.0.1 2.81 117.51 120.32 NOTE
r-devel-linux-x86_64-debian-gcc 1.0.1 2.18 94.68 96.86 ERROR
r-devel-linux-x86_64-fedora-clang 1.0.1 194.23 OK
r-devel-linux-x86_64-fedora-gcc 1.0.1 201.14 OK
r-devel-macos-arm64 1.0.1 109.00 OK
r-devel-macos-x86_64 1.0.1 175.00 OK
r-devel-windows-x86_64 1.0.1 4.00 177.00 181.00 NOTE
r-patched-linux-x86_64 1.0.1 OK
r-release-linux-x86_64 1.0.1 3.05 110.04 113.09 OK
r-release-macos-arm64 1.0.1 106.00 OK
r-release-macos-x86_64 1.0.1 163.00 OK
r-release-windows-x86_64 1.0.1 4.00 174.00 178.00 OK
r-oldrel-macos-arm64 1.0.1 OK
r-oldrel-macos-x86_64 1.0.1 230.00 OK
r-oldrel-windows-x86_64 1.0.1 5.00 208.00 213.00 OK

Check Details

Version: 1.0.1
Check: Rd cross-references
Result: NOTE Found the following Rd file(s) with Rd \link{} targets missing package anchors: doFuture.Rd: foreach, future grapes-dofuture-grapes.Rd: %dopar% Please provide package anchors for all Rd \link{} targets not in the package itself and the base packages. Flavors: r-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc, r-devel-windows-x86_64

Version: 1.0.1
Check: tests
Result: ERROR Running ‘foreach_dofuture,cluster-missing-doFuture-pkg.R’ [1s/3s] Running ‘foreach_dofuture,errors.R’ [6s/16s] Running ‘foreach_dofuture,globals.R’ [4s/11s] Running ‘foreach_dofuture,nested_colon.R’ [7s/20s] Running ‘foreach_dofuture,nested_dofuture.R’ [7s/28s] Running ‘foreach_dofuture,rng.R’ [2s/6s] Running ‘foreach_dofuture.R’ [2s/5s] Running ‘foreach_dopar,cluster-missing-doFuture-pkg.R’ [1s/3s] Running ‘foreach_dopar,doRNG,dopar.R’ [1s/4s] Running ‘foreach_dopar,doRNG,dorng.R’ [4s/9s] Running ‘foreach_dopar,errors.R’ [2s/7s] Running ‘foreach_dopar,globals.R’ [4s/12s] Running ‘foreach_dopar,nested_colon.R’ [5s/17s] Running ‘foreach_dopar,nested_dopar.R’ [8s/31s] Running ‘foreach_dopar,options-for-export.R’ [2s/5s] Running ‘foreach_dopar.R’ [2s/5s] Running ‘makeChunks.R’ [3s/4s] Running ‘options,nested.R’ [5s/10s] Running ‘registerDoFuture.R’ [1s/3s] Running ‘times.R’ [1s/3s] Running ‘utils.R’ [1s/1s] Running ‘withDoRNG.R’ [2s/4s] Running the tests in ‘tests/foreach_dopar,errors.R’ failed. Complete output: > source("incl/start.R") Loading required package: foreach Loading required package: future R Under development (unstable) (2025-03-13 r87965) Platform: x86_64-pc-linux-gnu Running under: Debian GNU/Linux trixie/sid Matrix products: default BLAS: /home/hornik/tmp/R.check/r-devel-gcc/Work/build/lib/libRblas.so LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.12.1; LAPACK version 3.12.0 locale: [1] LC_CTYPE=C.UTF-8 LC_NUMERIC=C LC_TIME=C.UTF-8 [4] LC_COLLATE=C LC_MONETARY=C.UTF-8 LC_MESSAGES=C.UTF-8 [7] LC_PAPER=C.UTF-8 LC_NAME=C LC_ADDRESS=C [10] LC_TELEPHONE=C LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C time zone: Europe/Vienna tzcode source: system (glibc) attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] doFuture_1.0.1 future_1.34.0 foreach_1.5.2 loaded via a namespace (and not attached): [1] compiler_4.6.0 parallelly_1.42.0 tools_4.6.0 [4] parallel_4.6.0 future.apply_1.11.3 listenv_0.9.1 [7] codetools_0.2-20 iterators_1.0.14 digest_0.6.37 [10] globals_0.16.3 > > strategies <- future:::supportedStrategies() > > message("*** doFuture() - error handling w/ 'stop' ...") *** doFuture() - error handling w/ 'stop' ... > > registerDoFuture() > > for (strategy in strategies) { + message(sprintf("- plan('%s') ...", strategy)) + plan(strategy) + + mu <- 1.0 + sigma <- 2.0 + + res <- tryCatch({ + foreach(i = 1:10, .errorhandling = "stop") %dopar% { + if (i %% 2 == 0) stop(sprintf("Index error ('stop'), because i = %d", i)) + list(i = i, value = dnorm(i, mean = mu, sd = sigma)) + } + }, error = identity) + print(res) + stopifnot( + inherits(res, "error"), + grepl("Index error", conditionMessage(res)) + ) + + # Shutdown current plan + plan(sequential) + + message(sprintf("- plan('%s') ... DONE", strategy)) + } ## for (strategy ...) - plan('sequential') ... [15:15:42.725] doFuture() ... [15:15:42.728] - dummy globals (as locals): [1] 'i' [15:15:42.728] - R expression: [15:15:42.728] { [15:15:42.728] doFuture::registerDoFuture() [15:15:42.728] lapply(seq_along(...future.x_ii), FUN = function(jj) { [15:15:42.728] ...future.x_jj <- ...future.x_ii[[jj]] [15:15:42.728] { [15:15:42.728] NULL [15:15:42.728] i <- NULL [15:15:42.728] } [15:15:42.728] ...future.env <- environment() [15:15:42.728] local({ [15:15:42.728] for (name in names(...future.x_jj)) { [15:15:42.728] assign(name, ...future.x_jj[[name]], envir = ...future.env, [15:15:42.728] inherits = FALSE) [15:15:42.728] } [15:15:42.728] }) [15:15:42.728] tryCatch({ [15:15:42.728] if (i%%2 == 0) [15:15:42.728] stop(sprintf("Index error ('stop'), because i = %d", [15:15:42.728] i)) [15:15:42.728] list(i = i, value = dnorm(i, mean = mu, sd = sigma)) [15:15:42.728] }, error = identity) [15:15:42.728] }) [15:15:42.728] } [15:15:42.729] - identifying globals and packages ... [15:15:42.752] List of 3 [15:15:42.752] $ ...future.x_ii: NULL [15:15:42.752] $ mu : num 1 [15:15:42.752] $ sigma : num 2 [15:15:42.752] - attr(*, "where")=List of 3 [15:15:42.752] ..$ ...future.x_ii:<environment: R_EmptyEnv> [15:15:42.752] ..$ mu :<environment: R_EmptyEnv> [15:15:42.752] ..$ sigma :<environment: R_EmptyEnv> [15:15:42.752] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [15:15:42.752] - attr(*, "resolved")= logi FALSE [15:15:42.752] - attr(*, "total_size")= num 105 [15:15:42.762] - R expression: [15:15:42.762] { [15:15:42.762] doFuture::registerDoFuture() [15:15:42.762] lapply(seq_along(...future.x_ii), FUN = function(jj) { [15:15:42.762] ...future.x_jj <- ...future.x_ii[[jj]] [15:15:42.762] { [15:15:42.762] NULL [15:15:42.762] i <- NULL [15:15:42.762] } [15:15:42.762] ...future.env <- environment() [15:15:42.762] local({ [15:15:42.762] for (name in names(...future.x_jj)) { [15:15:42.762] assign(name, ...future.x_jj[[name]], envir = ...future.env, [15:15:42.762] inherits = FALSE) [15:15:42.762] } [15:15:42.762] }) [15:15:42.762] tryCatch({ [15:15:42.762] if (i%%2 == 0) [15:15:42.762] stop(sprintf("Index error ('stop'), because i = %d", [15:15:42.762] i)) [15:15:42.762] list(i = i, value = dnorm(i, mean = mu, sd = sigma)) [15:15:42.762] }, error = identity) [15:15:42.762] }) [15:15:42.762] } [15:15:42.762] - globals: [3] '...future.x_ii', 'mu', 'sigma' [15:15:42.763] List of 3 [15:15:42.763] $ ...future.x_ii: NULL [15:15:42.763] $ mu : num 1 [15:15:42.763] $ sigma : num 2 [15:15:42.763] - attr(*, "where")=List of 3 [15:15:42.763] ..$ ...future.x_ii:<environment: R_EmptyEnv> [15:15:42.763] ..$ mu :<environment: R_EmptyEnv> [15:15:42.763] ..$ sigma :<environment: R_EmptyEnv> [15:15:42.763] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [15:15:42.763] - attr(*, "resolved")= logi FALSE [15:15:42.763] - attr(*, "total_size")= num 105 [15:15:42.770] - packages: [2] 'doFuture', 'stats' [15:15:42.770] - identifying globals and packages ... DONE [15:15:42.771] Number of chunks: 1 [15:15:42.771] Number of futures (= number of chunks): 1 [15:15:42.771] Launching 1 futures (chunks) ... [15:15:42.771] Chunk #1 of 1 ... [15:15:42.772] - Finding globals in 'args_list' chunk #1 ... [15:15:42.773] [15:15:42.773] [15:15:42.778] - Finding globals in 'args_list' for chunk #1 ... DONE [15:15:42.802] Chunk #1 of 1 ... DONE [15:15:42.802] Launching 1 futures (chunks) ... DONE [15:15:42.802] - resolving futures [15:15:42.802] - gathering results & relaying conditions (except errors) [15:15:42.808] - collecting values of futures [15:15:42.808] - accumulating results [15:15:42.810] - processing errors (handler = 'stop') <simpleError in { doFuture::registerDoFuture() lapply(seq_along(...future.x_ii), FUN = function(jj) { ...future.x_jj <- ...future.x_ii[[jj]] { NULL i <- NULL } ...future.env <- environment() local({ for (name in names(...future.x_jj)) { assign(name, ...future.x_jj[[name]], envir = ...future.env, inherits = FALSE) } }) tryCatch({ if (i%%2 == 0) stop(sprintf("Index error ('stop'), because i = %d", i)) list(i = i, value = dnorm(i, mean = mu, sd = sigma)) }, error = identity) })}: task 2 failed - "Index error ('stop'), because i = 2"> - plan('sequential') ... DONE - plan('multicore') ... [15:15:42.832] doFuture() ... [15:15:42.833] - dummy globals (as locals): [1] 'i' [15:15:42.834] - R expression: [15:15:42.834] { [15:15:42.834] doFuture::registerDoFuture() [15:15:42.834] lapply(seq_along(...future.x_ii), FUN = function(jj) { [15:15:42.834] ...future.x_jj <- ...future.x_ii[[jj]] [15:15:42.834] { [15:15:42.834] NULL [15:15:42.834] i <- NULL [15:15:42.834] } [15:15:42.834] ...future.env <- environment() [15:15:42.834] local({ [15:15:42.834] for (name in names(...future.x_jj)) { [15:15:42.834] assign(name, ...future.x_jj[[name]], envir = ...future.env, [15:15:42.834] inherits = FALSE) [15:15:42.834] } [15:15:42.834] }) [15:15:42.834] tryCatch({ [15:15:42.834] if (i%%2 == 0) [15:15:42.834] stop(sprintf("Index error ('stop'), because i = %d", [15:15:42.834] i)) [15:15:42.834] list(i = i, value = dnorm(i, mean = mu, sd = sigma)) [15:15:42.834] }, error = identity) [15:15:42.834] }) [15:15:42.834] } [15:15:42.834] - identifying globals and packages ... [15:15:42.845] List of 3 [15:15:42.845] $ ...future.x_ii: NULL [15:15:42.845] $ mu : num 1 [15:15:42.845] $ sigma : num 2 [15:15:42.845] - attr(*, "where")=List of 3 [15:15:42.845] ..$ ...future.x_ii:<environment: R_EmptyEnv> [15:15:42.845] ..$ mu :<environment: R_EmptyEnv> [15:15:42.845] ..$ sigma :<environment: R_EmptyEnv> [15:15:42.845] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [15:15:42.845] - attr(*, "resolved")= logi FALSE [15:15:42.845] - attr(*, "total_size")= num 105 [15:15:42.852] - R expression: [15:15:42.852] { [15:15:42.852] doFuture::registerDoFuture() [15:15:42.852] lapply(seq_along(...future.x_ii), FUN = function(jj) { [15:15:42.852] ...future.x_jj <- ...future.x_ii[[jj]] [15:15:42.852] { [15:15:42.852] NULL [15:15:42.852] i <- NULL [15:15:42.852] } [15:15:42.852] ...future.env <- environment() [15:15:42.852] local({ [15:15:42.852] for (name in names(...future.x_jj)) { [15:15:42.852] assign(name, ...future.x_jj[[name]], envir = ...future.env, [15:15:42.852] inherits = FALSE) [15:15:42.852] } [15:15:42.852] }) [15:15:42.852] tryCatch({ [15:15:42.852] if (i%%2 == 0) [15:15:42.852] stop(sprintf("Index error ('stop'), because i = %d", [15:15:42.852] i)) [15:15:42.852] list(i = i, value = dnorm(i, mean = mu, sd = sigma)) [15:15:42.852] }, error = identity) [15:15:42.852] }) [15:15:42.852] } [15:15:42.852] - globals: [3] '...future.x_ii', 'mu', 'sigma' [15:15:42.852] List of 3 [15:15:42.852] $ ...future.x_ii: NULL [15:15:42.852] $ mu : num 1 [15:15:42.852] $ sigma : num 2 [15:15:42.852] - attr(*, "where")=List of 3 [15:15:42.852] ..$ ...future.x_ii:<environment: R_EmptyEnv> [15:15:42.852] ..$ mu :<environment: R_EmptyEnv> [15:15:42.852] ..$ sigma :<environment: R_EmptyEnv> [15:15:42.852] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [15:15:42.852] - attr(*, "resolved")= logi FALSE [15:15:42.852] - attr(*, "total_size")= num 105 [15:15:42.857] - packages: [2] 'doFuture', 'stats' [15:15:42.857] - identifying globals and packages ... DONE [15:15:42.866] Number of chunks: 2 [15:15:42.867] Number of futures (= number of chunks): 2 [15:15:42.867] Launching 2 futures (chunks) ... [15:15:42.867] Chunk #1 of 2 ... [15:15:42.867] - Finding globals in 'args_list' chunk #1 ... [15:15:42.868] [15:15:42.868] [15:15:42.868] - Finding globals in 'args_list' for chunk #1 ... DONE [15:15:42.887] Chunk #1 of 2 ... DONE [15:15:42.888] Chunk #2 of 2 ... [15:15:42.888] - Finding globals in 'args_list' chunk #2 ... [15:15:42.890] [15:15:42.890] [15:15:42.890] - Finding globals in 'args_list' for chunk #2 ... DONE [15:15:42.929] Chunk #2 of 2 ... DONE [15:15:42.930] Launching 2 futures (chunks) ... DONE [15:15:42.930] - resolving futures [15:15:42.930] - gathering results & relaying conditions (except errors) [15:15:42.972] - collecting values of futures [15:15:42.973] - accumulating results [15:15:42.989] - processing errors (handler = 'stop') <simpleError in { doFuture::registerDoFuture() lapply(seq_along(...future.x_ii), FUN = function(jj) { ...future.x_jj <- ...future.x_ii[[jj]] { NULL i <- NULL } ...future.env <- environment() local({ for (name in names(...future.x_jj)) { assign(name, ...future.x_jj[[name]], envir = ...future.env, inherits = FALSE) } }) tryCatch({ if (i%%2 == 0) stop(sprintf("Index error ('stop'), because i = %d", i)) list(i = i, value = dnorm(i, mean = mu, sd = sigma)) }, error = identity) })}: task 2 failed - "Index error ('stop'), because i = 2"> - plan('multicore') ... DONE - plan('multisession') ... [15:15:44.061] doFuture() ... [15:15:44.062] - dummy globals (as locals): [1] 'i' [15:15:44.062] - R expression: [15:15:44.062] { [15:15:44.062] doFuture::registerDoFuture() [15:15:44.062] lapply(seq_along(...future.x_ii), FUN = function(jj) { [15:15:44.062] ...future.x_jj <- ...future.x_ii[[jj]] [15:15:44.062] { [15:15:44.062] NULL [15:15:44.062] i <- NULL [15:15:44.062] } [15:15:44.062] ...future.env <- environment() [15:15:44.062] local({ [15:15:44.062] for (name in names(...future.x_jj)) { [15:15:44.062] assign(name, ...future.x_jj[[name]], envir = ...future.env, [15:15:44.062] inherits = FALSE) [15:15:44.062] } [15:15:44.062] }) [15:15:44.062] tryCatch({ [15:15:44.062] if (i%%2 == 0) [15:15:44.062] stop(sprintf("Index error ('stop'), because i = %d", [15:15:44.062] i)) [15:15:44.062] list(i = i, value = dnorm(i, mean = mu, sd = sigma)) [15:15:44.062] }, error = identity) [15:15:44.062] }) [15:15:44.062] } [15:15:44.062] - identifying globals and packages ... [15:15:44.072] List of 3 [15:15:44.072] $ ...future.x_ii: NULL [15:15:44.072] $ mu : num 1 [15:15:44.072] $ sigma : num 2 [15:15:44.072] - attr(*, "where")=List of 3 [15:15:44.072] ..$ ...future.x_ii:<environment: R_EmptyEnv> [15:15:44.072] ..$ mu :<environment: R_EmptyEnv> [15:15:44.072] ..$ sigma :<environment: R_EmptyEnv> [15:15:44.072] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [15:15:44.072] - attr(*, "resolved")= logi FALSE [15:15:44.072] - attr(*, "total_size")= num 105 [15:15:44.076] - R expression: [15:15:44.076] { [15:15:44.076] doFuture::registerDoFuture() [15:15:44.076] lapply(seq_along(...future.x_ii), FUN = function(jj) { [15:15:44.076] ...future.x_jj <- ...future.x_ii[[jj]] [15:15:44.076] { [15:15:44.076] NULL [15:15:44.076] i <- NULL [15:15:44.076] } [15:15:44.076] ...future.env <- environment() [15:15:44.076] local({ [15:15:44.076] for (name in names(...future.x_jj)) { [15:15:44.076] assign(name, ...future.x_jj[[name]], envir = ...future.env, [15:15:44.076] inherits = FALSE) [15:15:44.076] } [15:15:44.076] }) [15:15:44.076] tryCatch({ [15:15:44.076] if (i%%2 == 0) [15:15:44.076] stop(sprintf("Index error ('stop'), because i = %d", [15:15:44.076] i)) [15:15:44.076] list(i = i, value = dnorm(i, mean = mu, sd = sigma)) [15:15:44.076] }, error = identity) [15:15:44.076] }) [15:15:44.076] } [15:15:44.077] - globals: [3] '...future.x_ii', 'mu', 'sigma' [15:15:44.077] List of 3 [15:15:44.077] $ ...future.x_ii: NULL [15:15:44.077] $ mu : num 1 [15:15:44.077] $ sigma : num 2 [15:15:44.077] - attr(*, "where")=List of 3 [15:15:44.077] ..$ ...future.x_ii:<environment: R_EmptyEnv> [15:15:44.077] ..$ mu :<environment: R_EmptyEnv> [15:15:44.077] ..$ sigma :<environment: R_EmptyEnv> [15:15:44.077] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [15:15:44.077] - attr(*, "resolved")= logi FALSE [15:15:44.077] - attr(*, "total_size")= num 105 [15:15:44.081] - packages: [2] 'doFuture', 'stats' [15:15:44.081] - identifying globals and packages ... DONE [15:15:44.091] Number of chunks: 2 [15:15:44.091] Number of futures (= number of chunks): 2 [15:15:44.091] Launching 2 futures (chunks) ... [15:15:44.091] Chunk #1 of 2 ... [15:15:44.091] - Finding globals in 'args_list' chunk #1 ... [15:15:44.092] [15:15:44.092] [15:15:44.092] - Finding globals in 'args_list' for chunk #1 ... DONE [15:15:44.126] Chunk #1 of 2 ... DONE [15:15:44.126] Chunk #2 of 2 ... [15:15:44.126] - Finding globals in 'args_list' chunk #2 ... [15:15:44.131] [15:15:44.131] [15:15:44.131] - Finding globals in 'args_list' for chunk #2 ... DONE [15:15:44.234] Chunk #2 of 2 ... DONE [15:15:44.234] Launching 2 futures (chunks) ... DONE [15:15:44.234] - resolving futures [15:15:44.234] - gathering results & relaying conditions (except errors) [15:15:44.468] - collecting values of futures [15:15:44.468] - accumulating results [15:15:44.469] - processing errors (handler = 'stop') <simpleError in { doFuture::registerDoFuture() lapply(seq_along(...future.x_ii), FUN = function(jj) { ...future.x_jj <- ...future.x_ii[[jj]] { NULL i <- NULL } ...future.env <- environment() local({ for (name in names(...future.x_jj)) { assign(name, ...future.x_jj[[name]], envir = ...future.env, inherits = FALSE) } }) tryCatch({ if (i%%2 == 0) stop(sprintf("Index error ('stop'), because i = %d", i)) list(i = i, value = dnorm(i, mean = mu, sd = sigma)) }, error = identity) })}: task 2 failed - "Index error ('stop'), because i = 2"> - plan('multisession') ... DONE - plan('cluster') ... [15:15:45.109] doFuture() ... [15:15:45.110] - dummy globals (as locals): [1] 'i' [15:15:45.111] - R expression: [15:15:45.111] { [15:15:45.111] doFuture::registerDoFuture() [15:15:45.111] lapply(seq_along(...future.x_ii), FUN = function(jj) { [15:15:45.111] ...future.x_jj <- ...future.x_ii[[jj]] [15:15:45.111] { [15:15:45.111] NULL [15:15:45.111] i <- NULL [15:15:45.111] } [15:15:45.111] ...future.env <- environment() [15:15:45.111] local({ [15:15:45.111] for (name in names(...future.x_jj)) { [15:15:45.111] assign(name, ...future.x_jj[[name]], envir = ...future.env, [15:15:45.111] inherits = FALSE) [15:15:45.111] } [15:15:45.111] }) [15:15:45.111] tryCatch({ [15:15:45.111] if (i%%2 == 0) [15:15:45.111] stop(sprintf("Index error ('stop'), because i = %d", [15:15:45.111] i)) [15:15:45.111] list(i = i, value = dnorm(i, mean = mu, sd = sigma)) [15:15:45.111] }, error = identity) [15:15:45.111] }) [15:15:45.111] } [15:15:45.111] - identifying globals and packages ... [15:15:45.125] List of 3 [15:15:45.125] $ ...future.x_ii: NULL [15:15:45.125] $ mu : num 1 [15:15:45.125] $ sigma : num 2 [15:15:45.125] - attr(*, "where")=List of 3 [15:15:45.125] ..$ ...future.x_ii:<environment: R_EmptyEnv> [15:15:45.125] ..$ mu :<environment: R_EmptyEnv> [15:15:45.125] ..$ sigma :<environment: R_EmptyEnv> [15:15:45.125] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [15:15:45.125] - attr(*, "resolved")= logi FALSE [15:15:45.125] - attr(*, "total_size")= num 105 [15:15:45.130] - R expression: [15:15:45.130] { [15:15:45.130] doFuture::registerDoFuture() [15:15:45.130] lapply(seq_along(...future.x_ii), FUN = function(jj) { [15:15:45.130] ...future.x_jj <- ...future.x_ii[[jj]] [15:15:45.130] { [15:15:45.130] NULL [15:15:45.130] i <- NULL [15:15:45.130] } [15:15:45.130] ...future.env <- environment() [15:15:45.130] local({ [15:15:45.130] for (name in names(...future.x_jj)) { [15:15:45.130] assign(name, ...future.x_jj[[name]], envir = ...future.env, [15:15:45.130] inherits = FALSE) [15:15:45.130] } [15:15:45.130] }) [15:15:45.130] tryCatch({ [15:15:45.130] if (i%%2 == 0) [15:15:45.130] stop(sprintf("Index error ('stop'), because i = %d", [15:15:45.130] i)) [15:15:45.130] list(i = i, value = dnorm(i, mean = mu, sd = sigma)) [15:15:45.130] }, error = identity) [15:15:45.130] }) [15:15:45.130] } [15:15:45.131] - globals: [3] '...future.x_ii', 'mu', 'sigma' [15:15:45.131] List of 3 [15:15:45.131] $ ...future.x_ii: NULL [15:15:45.131] $ mu : num 1 [15:15:45.131] $ sigma : num 2 [15:15:45.131] - attr(*, "where")=List of 3 [15:15:45.131] ..$ ...future.x_ii:<environment: R_EmptyEnv> [15:15:45.131] ..$ mu :<environment: R_EmptyEnv> [15:15:45.131] ..$ sigma :<environment: R_EmptyEnv> [15:15:45.131] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [15:15:45.131] - attr(*, "resolved")= logi FALSE [15:15:45.131] - attr(*, "total_size")= num 105 [15:15:45.140] - packages: [2] 'doFuture', 'stats' [15:15:45.140] - identifying globals and packages ... DONE [15:15:45.155] Number of chunks: 2 [15:15:45.155] Number of futures (= number of chunks): 2 [15:15:45.155] Launching 2 futures (chunks) ... [15:15:45.155] Chunk #1 of 2 ... [15:15:45.156] - Finding globals in 'args_list' chunk #1 ... [15:15:45.156] [15:15:45.156] [15:15:45.156] - Finding globals in 'args_list' for chunk #1 ... DONE [15:15:45.216] Chunk #1 of 2 ... DONE [15:15:45.217] Chunk #2 of 2 ... [15:15:45.217] - Finding globals in 'args_list' chunk #2 ... [15:15:45.218] [15:15:45.218] [15:15:45.218] - Finding globals in 'args_list' for chunk #2 ... DONE [15:15:45.376] Chunk #2 of 2 ... DONE [15:15:45.376] Launching 2 futures (chunks) ... DONE [15:15:45.376] - resolving futures [15:15:45.376] - gathering results & relaying conditions (except errors) [15:15:45.585] - collecting values of futures [15:15:45.586] - accumulating results [15:15:45.595] - processing errors (handler = 'stop') <simpleError in { doFuture::registerDoFuture() lapply(seq_along(...future.x_ii), FUN = function(jj) { ...future.x_jj <- ...future.x_ii[[jj]] { NULL i <- NULL } ...future.env <- environment() local({ for (name in names(...future.x_jj)) { assign(name, ...future.x_jj[[name]], envir = ...future.env, inherits = FALSE) } }) tryCatch({ if (i%%2 == 0) stop(sprintf("Index error ('stop'), because i = %d", i)) list(i = i, value = dnorm(i, mean = mu, sd = sigma)) }, error = identity) })}: task 2 failed - "Index error ('stop'), because i = 2"> - plan('cluster') ... DONE > > message("*** doFuture() - error handling w/ 'stop' ... DONE") *** doFuture() - error handling w/ 'stop' ... DONE > > > message("*** doFuture() - error handling w/ 'pass' ...") *** doFuture() - error handling w/ 'pass' ... > > for (strategy in strategies) { + message(sprintf("- plan('%s') ...", strategy)) + plan(strategy) + + mu <- 1.0 + sigma <- 2.0 + res <- foreach(i = 1:10, .errorhandling = "pass") %dopar% { + if (i %% 2 == 0) stop(sprintf("Index error ('pass'), because i = %d", i)) + list(i = i, value = dnorm(i, mean = mu, sd = sigma)) + } + str(res) + stopifnot( + is.list(res), + length(res) == 10L + ) + + message(sprintf("- plan('%s') ... DONE", strategy)) + } ## for (strategy ...) - plan('sequential') ... [15:15:45.651] doFuture() ... [15:15:45.652] - dummy globals (as locals): [1] 'i' [15:15:45.652] - R expression: [15:15:45.652] { [15:15:45.652] doFuture::registerDoFuture() [15:15:45.652] lapply(seq_along(...future.x_ii), FUN = function(jj) { [15:15:45.652] ...future.x_jj <- ...future.x_ii[[jj]] [15:15:45.652] { [15:15:45.652] NULL [15:15:45.652] i <- NULL [15:15:45.652] } [15:15:45.652] ...future.env <- environment() [15:15:45.652] local({ [15:15:45.652] for (name in names(...future.x_jj)) { [15:15:45.652] assign(name, ...future.x_jj[[name]], envir = ...future.env, [15:15:45.652] inherits = FALSE) [15:15:45.652] } [15:15:45.652] }) [15:15:45.652] tryCatch({ [15:15:45.652] if (i%%2 == 0) [15:15:45.652] stop(sprintf("Index error ('pass'), because i = %d", [15:15:45.652] i)) [15:15:45.652] list(i = i, value = dnorm(i, mean = mu, sd = sigma)) [15:15:45.652] }, error = identity) [15:15:45.652] }) [15:15:45.652] } [15:15:45.653] - identifying globals and packages ... [15:15:45.671] List of 3 [15:15:45.671] $ ...future.x_ii: NULL [15:15:45.671] $ mu : num 1 [15:15:45.671] $ sigma : num 2 [15:15:45.671] - attr(*, "where")=List of 3 [15:15:45.671] ..$ ...future.x_ii:<environment: R_EmptyEnv> [15:15:45.671] ..$ mu :<environment: R_EmptyEnv> [15:15:45.671] ..$ sigma :<environment: R_EmptyEnv> [15:15:45.671] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [15:15:45.671] - attr(*, "resolved")= logi FALSE [15:15:45.671] - attr(*, "total_size")= num 105 [15:15:45.676] - R expression: [15:15:45.676] { [15:15:45.676] doFuture::registerDoFuture() [15:15:45.676] lapply(seq_along(...future.x_ii), FUN = function(jj) { [15:15:45.676] ...future.x_jj <- ...future.x_ii[[jj]] [15:15:45.676] { [15:15:45.676] NULL [15:15:45.676] i <- NULL [15:15:45.676] } [15:15:45.676] ...future.env <- environment() [15:15:45.676] local({ [15:15:45.676] for (name in names(...future.x_jj)) { [15:15:45.676] assign(name, ...future.x_jj[[name]], envir = ...future.env, [15:15:45.676] inherits = FALSE) [15:15:45.676] } [15:15:45.676] }) [15:15:45.676] tryCatch({ [15:15:45.676] if (i%%2 == 0) [15:15:45.676] stop(sprintf("Index error ('pass'), because i = %d", [15:15:45.676] i)) [15:15:45.676] list(i = i, value = dnorm(i, mean = mu, sd = sigma)) [15:15:45.676] }, error = identity) [15:15:45.676] }) [15:15:45.676] } [15:15:45.681] - globals: [3] '...future.x_ii', 'mu', 'sigma' [15:15:45.681] List of 3 [15:15:45.681] $ ...future.x_ii: NULL [15:15:45.681] $ mu : num 1 [15:15:45.681] $ sigma : num 2 [15:15:45.681] - attr(*, "where")=List of 3 [15:15:45.681] ..$ ...future.x_ii:<environment: R_EmptyEnv> [15:15:45.681] ..$ mu :<environment: R_EmptyEnv> [15:15:45.681] ..$ sigma :<environment: R_EmptyEnv> [15:15:45.681] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [15:15:45.681] - attr(*, "resolved")= logi FALSE [15:15:45.681] - attr(*, "total_size")= num 105 [15:15:45.685] - packages: [2] 'doFuture', 'stats' [15:15:45.685] - identifying globals and packages ... DONE [15:15:45.686] Number of chunks: 1 [15:15:45.686] Number of futures (= number of chunks): 1 [15:15:45.686] Launching 1 futures (chunks) ... [15:15:45.686] Chunk #1 of 1 ... [15:15:45.686] - Finding globals in 'args_list' chunk #1 ... [15:15:45.687] [15:15:45.687] [15:15:45.687] - Finding globals in 'args_list' for chunk #1 ... DONE [15:15:45.705] Chunk #1 of 1 ... DONE [15:15:45.705] Launching 1 futures (chunks) ... DONE [15:15:45.705] - resolving futures [15:15:45.705] - gathering results & relaying conditions (except errors) [15:15:45.706] - collecting values of futures [15:15:45.706] - accumulating results [15:15:45.707] - processing errors (handler = 'pass') [15:15:45.707] - extracting results [15:15:45.708] doFuture() ... DONE List of 10 $ :List of 2 ..$ i : int 1 ..$ value: num 0.199 $ :List of 2 ..$ message: chr "Index error ('pass'), because i = 2" ..$ call : language doTryCatch(return(expr), name, parentenv, handler) ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" $ :List of 2 ..$ i : int 3 ..$ value: num 0.121 $ :List of 2 ..$ message: chr "Index error ('pass'), because i = 4" ..$ call : language doTryCatch(return(expr), name, parentenv, handler) ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" $ :List of 2 ..$ i : int 5 ..$ value: num 0.027 $ :List of 2 ..$ message: chr "Index error ('pass'), because i = 6" ..$ call : language doTryCatch(return(expr), name, parentenv, handler) ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" $ :List of 2 ..$ i : int 7 ..$ value: num 0.00222 $ :List of 2 ..$ message: chr "Index error ('pass'), because i = 8" ..$ call : language doTryCatch(return(expr), name, parentenv, handler) ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" $ :List of 2 ..$ i : int 9 ..$ value: num 6.69e-05 $ :List of 2 ..$ message: chr "Index error ('pass'), because i = 10" ..$ call : language doTryCatch(return(expr), name, parentenv, handler) ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" - plan('sequential') ... DONE - plan('multicore') ... [15:15:45.741] doFuture() ... [15:15:45.742] - dummy globals (as locals): [1] 'i' [15:15:45.742] - R expression: [15:15:45.742] { [15:15:45.742] doFuture::registerDoFuture() [15:15:45.742] lapply(seq_along(...future.x_ii), FUN = function(jj) { [15:15:45.742] ...future.x_jj <- ...future.x_ii[[jj]] [15:15:45.742] { [15:15:45.742] NULL [15:15:45.742] i <- NULL [15:15:45.742] } [15:15:45.742] ...future.env <- environment() [15:15:45.742] local({ [15:15:45.742] for (name in names(...future.x_jj)) { [15:15:45.742] assign(name, ...future.x_jj[[name]], envir = ...future.env, [15:15:45.742] inherits = FALSE) [15:15:45.742] } [15:15:45.742] }) [15:15:45.742] tryCatch({ [15:15:45.742] if (i%%2 == 0) [15:15:45.742] stop(sprintf("Index error ('pass'), because i = %d", [15:15:45.742] i)) [15:15:45.742] list(i = i, value = dnorm(i, mean = mu, sd = sigma)) [15:15:45.742] }, error = identity) [15:15:45.742] }) [15:15:45.742] } [15:15:45.743] - identifying globals and packages ... [15:15:45.756] List of 3 [15:15:45.756] $ ...future.x_ii: NULL [15:15:45.756] $ mu : num 1 [15:15:45.756] $ sigma : num 2 [15:15:45.756] - attr(*, "where")=List of 3 [15:15:45.756] ..$ ...future.x_ii:<environment: R_EmptyEnv> [15:15:45.756] ..$ mu :<environment: R_EmptyEnv> [15:15:45.756] ..$ sigma :<environment: R_EmptyEnv> [15:15:45.756] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [15:15:45.756] - attr(*, "resolved")= logi FALSE [15:15:45.756] - attr(*, "total_size")= num 105 [15:15:45.761] - R expression: [15:15:45.761] { [15:15:45.761] doFuture::registerDoFuture() [15:15:45.761] lapply(seq_along(...future.x_ii), FUN = function(jj) { [15:15:45.761] ...future.x_jj <- ...future.x_ii[[jj]] [15:15:45.761] { [15:15:45.761] NULL [15:15:45.761] i <- NULL [15:15:45.761] } [15:15:45.761] ...future.env <- environment() [15:15:45.761] local({ [15:15:45.761] for (name in names(...future.x_jj)) { [15:15:45.761] assign(name, ...future.x_jj[[name]], envir = ...future.env, [15:15:45.761] inherits = FALSE) [15:15:45.761] } [15:15:45.761] }) [15:15:45.761] tryCatch({ [15:15:45.761] if (i%%2 == 0) [15:15:45.761] stop(sprintf("Index error ('pass'), because i = %d", [15:15:45.761] i)) [15:15:45.761] list(i = i, value = dnorm(i, mean = mu, sd = sigma)) [15:15:45.761] }, error = identity) [15:15:45.761] }) [15:15:45.761] } [15:15:45.762] - globals: [3] '...future.x_ii', 'mu', 'sigma' [15:15:45.762] List of 3 [15:15:45.762] $ ...future.x_ii: NULL [15:15:45.762] $ mu : num 1 [15:15:45.762] $ sigma : num 2 [15:15:45.762] - attr(*, "where")=List of 3 [15:15:45.762] ..$ ...future.x_ii:<environment: R_EmptyEnv> [15:15:45.762] ..$ mu :<environment: R_EmptyEnv> [15:15:45.762] ..$ sigma :<environment: R_EmptyEnv> [15:15:45.762] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [15:15:45.762] - attr(*, "resolved")= logi FALSE [15:15:45.762] - attr(*, "total_size")= num 105 [15:15:45.776] - packages: [2] 'doFuture', 'stats' [15:15:45.776] - identifying globals and packages ... DONE [15:15:45.794] Number of chunks: 2 [15:15:45.794] Number of futures (= number of chunks): 2 [15:15:45.794] Launching 2 futures (chunks) ... [15:15:45.794] Chunk #1 of 2 ... [15:15:45.794] - Finding globals in 'args_list' chunk #1 ... [15:15:45.795] [15:15:45.795] [15:15:45.795] - Finding globals in 'args_list' for chunk #1 ... DONE [15:15:45.830] Chunk #1 of 2 ... DONE [15:15:45.831] Chunk #2 of 2 ... [15:15:45.832] - Finding globals in 'args_list' chunk #2 ... [15:15:45.833] [15:15:45.833] [15:15:45.834] - Finding globals in 'args_list' for chunk #2 ... DONE [15:15:45.870] Chunk #2 of 2 ... DONE [15:15:45.871] Launching 2 futures (chunks) ... DONE [15:15:45.871] - resolving futures [15:15:45.871] - gathering results & relaying conditions (except errors) [15:15:45.911] - collecting values of futures [15:15:45.912] - accumulating results [15:15:45.914] - processing errors (handler = 'pass') [15:15:45.914] - extracting results [15:15:45.914] doFuture() ... DONE List of 10 $ :List of 2 ..$ i : int 1 ..$ value: num 0.199 $ :List of 2 ..$ message: chr "Index error ('pass'), because i = 2" ..$ call : language doTryCatch(return(expr), name, parentenv, handler) ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" $ :List of 2 ..$ i : int 3 ..$ value: num 0.121 $ :List of 2 ..$ message: chr "Index error ('pass'), because i = 4" ..$ call : language doTryCatch(return(expr), name, parentenv, handler) ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" $ :List of 2 ..$ i : int 5 ..$ value: num 0.027 $ :List of 2 ..$ message: chr "Index error ('pass'), because i = 6" ..$ call : language doTryCatch(return(expr), name, parentenv, handler) ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" $ :List of 2 ..$ i : int 7 ..$ value: num 0.00222 $ :List of 2 ..$ message: chr "Index error ('pass'), because i = 8" ..$ call : language doTryCatch(return(expr), name, parentenv, handler) ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" $ :List of 2 ..$ i : int 9 ..$ value: num 6.69e-05 $ :List of 2 ..$ message: chr "Index error ('pass'), because i = 10" ..$ call : language doTryCatch(return(expr), name, parentenv, handler) ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" - plan('multicore') ... DONE - plan('multisession') ... [15:15:46.624] doFuture() ... [15:15:46.626] - dummy globals (as locals): [1] 'i' [15:15:46.626] - R expression: [15:15:46.630] { [15:15:46.630] doFuture::registerDoFuture() [15:15:46.630] lapply(seq_along(...future.x_ii), FUN = function(jj) { [15:15:46.630] ...future.x_jj <- ...future.x_ii[[jj]] [15:15:46.630] { [15:15:46.630] NULL [15:15:46.630] i <- NULL [15:15:46.630] } [15:15:46.630] ...future.env <- environment() [15:15:46.630] local({ [15:15:46.630] for (name in names(...future.x_jj)) { [15:15:46.630] assign(name, ...future.x_jj[[name]], envir = ...future.env, [15:15:46.630] inherits = FALSE) [15:15:46.630] } [15:15:46.630] }) [15:15:46.630] tryCatch({ [15:15:46.630] if (i%%2 == 0) [15:15:46.630] stop(sprintf("Index error ('pass'), because i = %d", [15:15:46.630] i)) [15:15:46.630] list(i = i, value = dnorm(i, mean = mu, sd = sigma)) [15:15:46.630] }, error = identity) [15:15:46.630] }) [15:15:46.630] } [15:15:46.630] - identifying globals and packages ... [15:15:46.659] List of 3 [15:15:46.659] $ ...future.x_ii: NULL [15:15:46.659] $ mu : num 1 [15:15:46.659] $ sigma : num 2 [15:15:46.659] - attr(*, "where")=List of 3 [15:15:46.659] ..$ ...future.x_ii:<environment: R_EmptyEnv> [15:15:46.659] ..$ mu :<environment: R_EmptyEnv> [15:15:46.659] ..$ sigma :<environment: R_EmptyEnv> [15:15:46.659] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [15:15:46.659] - attr(*, "resolved")= logi FALSE [15:15:46.659] - attr(*, "total_size")= num 105 [15:15:46.669] - R expression: [15:15:46.669] { [15:15:46.669] doFuture::registerDoFuture() [15:15:46.669] lapply(seq_along(...future.x_ii), FUN = function(jj) { [15:15:46.669] ...future.x_jj <- ...future.x_ii[[jj]] [15:15:46.669] { [15:15:46.669] NULL [15:15:46.669] i <- NULL [15:15:46.669] } [15:15:46.669] ...future.env <- environment() [15:15:46.669] local({ [15:15:46.669] for (name in names(...future.x_jj)) { [15:15:46.669] assign(name, ...future.x_jj[[name]], envir = ...future.env, [15:15:46.669] inherits = FALSE) [15:15:46.669] } [15:15:46.669] }) [15:15:46.669] tryCatch({ [15:15:46.669] if (i%%2 == 0) [15:15:46.669] stop(sprintf("Index error ('pass'), because i = %d", [15:15:46.669] i)) [15:15:46.669] list(i = i, value = dnorm(i, mean = mu, sd = sigma)) [15:15:46.669] }, error = identity) [15:15:46.669] }) [15:15:46.669] } [15:15:46.670] - globals: [3] '...future.x_ii', 'mu', 'sigma' [15:15:46.670] List of 3 [15:15:46.670] $ ...future.x_ii: NULL [15:15:46.670] $ mu : num 1 [15:15:46.670] $ sigma : num 2 [15:15:46.670] - attr(*, "where")=List of 3 [15:15:46.670] ..$ ...future.x_ii:<environment: R_EmptyEnv> [15:15:46.670] ..$ mu :<environment: R_EmptyEnv> [15:15:46.670] ..$ sigma :<environment: R_EmptyEnv> [15:15:46.670] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [15:15:46.670] - attr(*, "resolved")= logi FALSE [15:15:46.670] - attr(*, "total_size")= num 105 [15:15:46.684] - packages: [2] 'doFuture', 'stats' [15:15:46.684] - identifying globals and packages ... DONE [15:15:46.701] Number of chunks: 2 [15:15:46.701] Number of futures (= number of chunks): 2 [15:15:46.701] Launching 2 futures (chunks) ... [15:15:46.701] Chunk #1 of 2 ... [15:15:46.701] - Finding globals in 'args_list' chunk #1 ... [15:15:46.702] [15:15:46.702] [15:15:46.702] - Finding globals in 'args_list' for chunk #1 ... DONE [15:15:46.764] Chunk #1 of 2 ... DONE [15:15:46.765] Chunk #2 of 2 ... [15:15:46.765] - Finding globals in 'args_list' chunk #2 ... [15:15:46.765] [15:15:46.766] [15:15:46.766] - Finding globals in 'args_list' for chunk #2 ... DONE [15:15:46.954] Chunk #2 of 2 ... DONE [15:15:46.954] Launching 2 futures (chunks) ... DONE [15:15:46.954] - resolving futures [15:15:46.954] - gathering results & relaying conditions (except errors) [15:15:47.121] - collecting values of futures [15:15:47.121] - accumulating results [15:15:47.123] - processing errors (handler = 'pass') [15:15:47.123] - extracting results [15:15:47.123] doFuture() ... DONE List of 10 $ :List of 2 ..$ i : int 1 ..$ value: num 0.199 $ :List of 2 ..$ message: chr "Index error ('pass'), because i = 2" ..$ call : language doTryCatch(return(expr), name, parentenv, handler) ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" $ :List of 2 ..$ i : int 3 ..$ value: num 0.121 $ :List of 2 ..$ message: chr "Index error ('pass'), because i = 4" ..$ call : language doTryCatch(return(expr), name, parentenv, handler) ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" $ :List of 2 ..$ i : int 5 ..$ value: num 0.027 $ :List of 2 ..$ message: chr "Index error ('pass'), because i = 6" ..$ call : language doTryCatch(return(expr), name, parentenv, handler) ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" $ :List of 2 ..$ i : int 7 ..$ value: num 0.00222 $ :List of 2 ..$ message: chr "Index error ('pass'), because i = 8" ..$ call : language doTryCatch(return(expr), name, parentenv, handler) ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" $ :List of 2 ..$ i : int 9 ..$ value: num 6.69e-05 $ :List of 2 ..$ message: chr "Index error ('pass'), because i = 10" ..$ call : language doTryCatch(return(expr), name, parentenv, handler) ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" - plan('multisession') ... DONE - plan('cluster') ... [15:15:47.765] doFuture() ... [15:15:47.766] - dummy globals (as locals): [1] 'i' [15:15:47.766] - R expression: [15:15:47.766] { [15:15:47.766] doFuture::registerDoFuture() [15:15:47.766] lapply(seq_along(...future.x_ii), FUN = function(jj) { [15:15:47.766] ...future.x_jj <- ...future.x_ii[[jj]] [15:15:47.766] { [15:15:47.766] NULL [15:15:47.766] i <- NULL [15:15:47.766] } [15:15:47.766] ...future.env <- environment() [15:15:47.766] local({ [15:15:47.766] for (name in names(...future.x_jj)) { [15:15:47.766] assign(name, ...future.x_jj[[name]], envir = ...future.env, [15:15:47.766] inherits = FALSE) [15:15:47.766] } [15:15:47.766] }) [15:15:47.766] tryCatch({ [15:15:47.766] if (i%%2 == 0) [15:15:47.766] stop(sprintf("Index error ('pass'), because i = %d", [15:15:47.766] i)) [15:15:47.766] list(i = i, value = dnorm(i, mean = mu, sd = sigma)) [15:15:47.766] }, error = identity) [15:15:47.766] }) [15:15:47.766] } [15:15:47.767] - identifying globals and packages ... [15:15:47.788] List of 3 [15:15:47.788] $ ...future.x_ii: NULL [15:15:47.788] $ mu : num 1 [15:15:47.788] $ sigma : num 2 [15:15:47.788] - attr(*, "where")=List of 3 [15:15:47.788] ..$ ...future.x_ii:<environment: R_EmptyEnv> [15:15:47.788] ..$ mu :<environment: R_EmptyEnv> [15:15:47.788] ..$ sigma :<environment: R_EmptyEnv> [15:15:47.788] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [15:15:47.788] - attr(*, "resolved")= logi FALSE [15:15:47.788] - attr(*, "total_size")= num 105 [15:15:47.794] - R expression: [15:15:47.794] { [15:15:47.794] doFuture::registerDoFuture() [15:15:47.794] lapply(seq_along(...future.x_ii), FUN = function(jj) { [15:15:47.794] ...future.x_jj <- ...future.x_ii[[jj]] [15:15:47.794] { [15:15:47.794] NULL [15:15:47.794] i <- NULL [15:15:47.794] } [15:15:47.794] ...future.env <- environment() [15:15:47.794] local({ [15:15:47.794] for (name in names(...future.x_jj)) { [15:15:47.794] assign(name, ...future.x_jj[[name]], envir = ...future.env, [15:15:47.794] inherits = FALSE) [15:15:47.794] } [15:15:47.794] }) [15:15:47.794] tryCatch({ [15:15:47.794] if (i%%2 == 0) [15:15:47.794] stop(sprintf("Index error ('pass'), because i = %d", [15:15:47.794] i)) [15:15:47.794] list(i = i, value = dnorm(i, mean = mu, sd = sigma)) [15:15:47.794] }, error = identity) [15:15:47.794] }) [15:15:47.794] } [15:15:47.795] - globals: [3] '...future.x_ii', 'mu', 'sigma' [15:15:47.795] List of 3 [15:15:47.795] $ ...future.x_ii: NULL [15:15:47.795] $ mu : num 1 [15:15:47.795] $ sigma : num 2 [15:15:47.795] - attr(*, "where")=List of 3 [15:15:47.795] ..$ ...future.x_ii:<environment: R_EmptyEnv> [15:15:47.795] ..$ mu :<environment: R_EmptyEnv> [15:15:47.795] ..$ sigma :<environment: R_EmptyEnv> [15:15:47.795] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [15:15:47.795] - attr(*, "resolved")= logi FALSE [15:15:47.795] - attr(*, "total_size")= num 105 [15:15:47.803] - packages: [2] 'doFuture', 'stats' [15:15:47.804] - identifying globals and packages ... DONE [15:15:47.817] Number of chunks: 2 [15:15:47.817] Number of futures (= number of chunks): 2 [15:15:47.817] Launching 2 futures (chunks) ... [15:15:47.817] Chunk #1 of 2 ... [15:15:47.817] - Finding globals in 'args_list' chunk #1 ... [15:15:47.818] [15:15:47.818] [15:15:47.818] - Finding globals in 'args_list' for chunk #1 ... DONE [15:15:47.869] Chunk #1 of 2 ... DONE [15:15:47.869] Chunk #2 of 2 ... [15:15:47.870] - Finding globals in 'args_list' chunk #2 ... [15:15:47.870] [15:15:47.870] [15:15:47.871] - Finding globals in 'args_list' for chunk #2 ... DONE [15:15:48.001] Chunk #2 of 2 ... DONE [15:15:48.001] Launching 2 futures (chunks) ... DONE [15:15:48.002] - resolving futures [15:15:48.002] - gathering results & relaying conditions (except errors) [15:15:48.214] - collecting values of futures [15:15:48.214] - accumulating results [15:15:48.215] - processing errors (handler = 'pass') [15:15:48.215] - extracting results [15:15:48.216] doFuture() ... DONE List of 10 $ :List of 2 ..$ i : int 1 ..$ value: num 0.199 $ :List of 2 ..$ message: chr "Index error ('pass'), because i = 2" ..$ call : language doTryCatch(return(expr), name, parentenv, handler) ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" $ :List of 2 ..$ i : int 3 ..$ value: num 0.121 $ :List of 2 ..$ message: chr "Index error ('pass'), because i = 4" ..$ call : language doTryCatch(return(expr), name, parentenv, handler) ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" $ :List of 2 ..$ i : int 5 ..$ value: num 0.027 $ :List of 2 ..$ message: chr "Index error ('pass'), because i = 6" ..$ call : language doTryCatch(return(expr), name, parentenv, handler) ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" $ :List of 2 ..$ i : int 7 ..$ value: num 0.00222 $ :List of 2 ..$ message: chr "Index error ('pass'), because i = 8" ..$ call : language doTryCatch(return(expr), name, parentenv, handler) ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" $ :List of 2 ..$ i : int 9 ..$ value: num 6.69e-05 $ :List of 2 ..$ message: chr "Index error ('pass'), because i = 10" ..$ call : language doTryCatch(return(expr), name, parentenv, handler) ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" - plan('cluster') ... DONE > > message("*** doFuture() - error handling w/ 'pass' ... DONE") *** doFuture() - error handling w/ 'pass' ... DONE > > > message("*** doFuture() - error handling w/ 'remove' ...") *** doFuture() - error handling w/ 'remove' ... > > for (strategy in strategies) { + message(sprintf("- plan('%s') ...", strategy)) + plan(strategy) + + mu <- 1.0 + sigma <- 2.0 + res <- foreach(i = 1:10, .errorhandling = "remove") %dopar% { + if (i %% 2 == 0) stop(sprintf("Index error ('remove'), because i = %d", i)) + list(i = i, value = dnorm(i, mean = mu, sd = sigma)) + } + str(res) + stopifnot( + is.list(res), + length(res) == 5L + ) + + message(sprintf("- plan('%s') ... DONE", strategy)) + } ## for (strategy ...) - plan('sequential') ... [15:15:48.284] doFuture() ... [15:15:48.285] - dummy globals (as locals): [1] 'i' [15:15:48.285] - R expression: [15:15:48.285] { [15:15:48.285] doFuture::registerDoFuture() [15:15:48.285] lapply(seq_along(...future.x_ii), FUN = function(jj) { [15:15:48.285] ...future.x_jj <- ...future.x_ii[[jj]] [15:15:48.285] { [15:15:48.285] NULL [15:15:48.285] i <- NULL [15:15:48.285] } [15:15:48.285] ...future.env <- environment() [15:15:48.285] local({ [15:15:48.285] for (name in names(...future.x_jj)) { [15:15:48.285] assign(name, ...future.x_jj[[name]], envir = ...future.env, [15:15:48.285] inherits = FALSE) [15:15:48.285] } [15:15:48.285] }) [15:15:48.285] tryCatch({ [15:15:48.285] if (i%%2 == 0) [15:15:48.285] stop(sprintf("Index error ('remove'), because i = %d", [15:15:48.285] i)) [15:15:48.285] list(i = i, value = dnorm(i, mean = mu, sd = sigma)) [15:15:48.285] }, error = identity) [15:15:48.285] }) [15:15:48.285] } [15:15:48.286] - identifying globals and packages ... [15:15:48.313] List of 3 [15:15:48.313] $ ...future.x_ii: NULL [15:15:48.313] $ mu : num 1 [15:15:48.313] $ sigma : num 2 [15:15:48.313] - attr(*, "where")=List of 3 [15:15:48.313] ..$ ...future.x_ii:<environment: R_EmptyEnv> [15:15:48.313] ..$ mu :<environment: R_EmptyEnv> [15:15:48.313] ..$ sigma :<environment: R_EmptyEnv> [15:15:48.313] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [15:15:48.313] - attr(*, "resolved")= logi FALSE [15:15:48.313] - attr(*, "total_size")= num 105 [15:15:48.318] - R expression: [15:15:48.318] { [15:15:48.318] doFuture::registerDoFuture() [15:15:48.318] lapply(seq_along(...future.x_ii), FUN = function(jj) { [15:15:48.318] ...future.x_jj <- ...future.x_ii[[jj]] [15:15:48.318] { [15:15:48.318] NULL [15:15:48.318] i <- NULL [15:15:48.318] } [15:15:48.318] ...future.env <- environment() [15:15:48.318] local({ [15:15:48.318] for (name in names(...future.x_jj)) { [15:15:48.318] assign(name, ...future.x_jj[[name]], envir = ...future.env, [15:15:48.318] inherits = FALSE) [15:15:48.318] } [15:15:48.318] }) [15:15:48.318] tryCatch({ [15:15:48.318] if (i%%2 == 0) [15:15:48.318] stop(sprintf("Index error ('remove'), because i = %d", [15:15:48.318] i)) [15:15:48.318] list(i = i, value = dnorm(i, mean = mu, sd = sigma)) [15:15:48.318] }, error = identity) [15:15:48.318] }) [15:15:48.318] } [15:15:48.321] - globals: [3] '...future.x_ii', 'mu', 'sigma' [15:15:48.321] List of 3 [15:15:48.321] $ ...future.x_ii: NULL [15:15:48.321] $ mu : num 1 [15:15:48.321] $ sigma : num 2 [15:15:48.321] - attr(*, "where")=List of 3 [15:15:48.321] ..$ ...future.x_ii:<environment: R_EmptyEnv> [15:15:48.321] ..$ mu :<environment: R_EmptyEnv> [15:15:48.321] ..$ sigma :<environment: R_EmptyEnv> [15:15:48.321] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [15:15:48.321] - attr(*, "resolved")= logi FALSE [15:15:48.321] - attr(*, "total_size")= num 105 [15:15:48.328] - packages: [2] 'doFuture', 'stats' [15:15:48.328] - identifying globals and packages ... DONE [15:15:48.328] Number of chunks: 1 [15:15:48.328] Number of futures (= number of chunks): 1 [15:15:48.328] Launching 1 futures (chunks) ... [15:15:48.328] Chunk #1 of 1 ... [15:15:48.328] - Finding globals in 'args_list' chunk #1 ... [15:15:48.329] [15:15:48.329] [15:15:48.329] - Finding globals in 'args_list' for chunk #1 ... DONE [15:15:48.345] Chunk #1 of 1 ... DONE [15:15:48.345] Launching 1 futures (chunks) ... DONE [15:15:48.345] - resolving futures [15:15:48.345] - gathering results & relaying conditions (except errors) [15:15:48.346] - collecting values of futures [15:15:48.346] - accumulating results [15:15:48.347] - processing errors (handler = 'remove') [15:15:48.347] - extracting results [15:15:48.348] doFuture() ... DONE List of 5 $ :List of 2 ..$ i : int 1 ..$ value: num 0.199 $ :List of 2 ..$ i : int 3 ..$ value: num 0.121 $ :List of 2 ..$ i : int 5 ..$ value: num 0.027 $ :List of 2 ..$ i : int 7 ..$ value: num 0.00222 $ :List of 2 ..$ i : int 9 ..$ value: num 6.69e-05 - plan('sequential') ... DONE - plan('multicore') ... [15:15:48.377] doFuture() ... [15:15:48.378] - dummy globals (as locals): [1] 'i' [15:15:48.378] - R expression: [15:15:48.378] { [15:15:48.378] doFuture::registerDoFuture() [15:15:48.378] lapply(seq_along(...future.x_ii), FUN = function(jj) { [15:15:48.378] ...future.x_jj <- ...future.x_ii[[jj]] [15:15:48.378] { [15:15:48.378] NULL [15:15:48.378] i <- NULL [15:15:48.378] } [15:15:48.378] ...future.env <- environment() [15:15:48.378] local({ [15:15:48.378] for (name in names(...future.x_jj)) { [15:15:48.378] assign(name, ...future.x_jj[[name]], envir = ...future.env, [15:15:48.378] inherits = FALSE) [15:15:48.378] } [15:15:48.378] }) [15:15:48.378] tryCatch({ [15:15:48.378] if (i%%2 == 0) [15:15:48.378] stop(sprintf("Index error ('remove'), because i = %d", [15:15:48.378] i)) [15:15:48.378] list(i = i, value = dnorm(i, mean = mu, sd = sigma)) [15:15:48.378] }, error = identity) [15:15:48.378] }) [15:15:48.378] } [15:15:48.380] - identifying globals and packages ... [15:15:48.396] List of 3 [15:15:48.396] $ ...future.x_ii: NULL [15:15:48.396] $ mu : num 1 [15:15:48.396] $ sigma : num 2 [15:15:48.396] - attr(*, "where")=List of 3 [15:15:48.396] ..$ ...future.x_ii:<environment: R_EmptyEnv> [15:15:48.396] ..$ mu :<environment: R_EmptyEnv> [15:15:48.396] ..$ sigma :<environment: R_EmptyEnv> [15:15:48.396] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [15:15:48.396] - attr(*, "resolved")= logi FALSE [15:15:48.396] - attr(*, "total_size")= num 105 [15:15:48.411] - R expression: [15:15:48.412] { [15:15:48.412] doFuture::registerDoFuture() [15:15:48.412] lapply(seq_along(...future.x_ii), FUN = function(jj) { [15:15:48.412] ...future.x_jj <- ...future.x_ii[[jj]] [15:15:48.412] { [15:15:48.412] NULL [15:15:48.412] i <- NULL [15:15:48.412] } [15:15:48.412] ...future.env <- environment() [15:15:48.412] local({ [15:15:48.412] for (name in names(...future.x_jj)) { [15:15:48.412] assign(name, ...future.x_jj[[name]], envir = ...future.env, [15:15:48.412] inherits = FALSE) [15:15:48.412] } [15:15:48.412] }) [15:15:48.412] tryCatch({ [15:15:48.412] if (i%%2 == 0) [15:15:48.412] stop(sprintf("Index error ('remove'), because i = %d", [15:15:48.412] i)) [15:15:48.412] list(i = i, value = dnorm(i, mean = mu, sd = sigma)) [15:15:48.412] }, error = identity) [15:15:48.412] }) [15:15:48.412] } [15:15:48.412] - globals: [3] '...future.x_ii', 'mu', 'sigma' [15:15:48.412] List of 3 [15:15:48.412] $ ...future.x_ii: NULL [15:15:48.412] $ mu : num 1 [15:15:48.412] $ sigma : num 2 [15:15:48.412] - attr(*, "where")=List of 3 [15:15:48.412] ..$ ...future.x_ii:<environment: R_EmptyEnv> [15:15:48.412] ..$ mu :<environment: R_EmptyEnv> [15:15:48.412] ..$ sigma :<environment: R_EmptyEnv> [15:15:48.412] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [15:15:48.412] - attr(*, "resolved")= logi FALSE [15:15:48.412] - attr(*, "total_size")= num 105 [15:15:48.416] - packages: [2] 'doFuture', 'stats' [15:15:48.416] - identifying globals and packages ... DONE [15:15:48.427] Number of chunks: 2 [15:15:48.427] Number of futures (= number of chunks): 2 [15:15:48.427] Launching 2 futures (chunks) ... [15:15:48.427] Chunk #1 of 2 ... [15:15:48.427] - Finding globals in 'args_list' chunk #1 ... [15:15:48.428] [15:15:48.428] [15:15:48.428] - Finding globals in 'args_list' for chunk #1 ... DONE [15:15:48.447] Chunk #1 of 2 ... DONE [15:15:48.448] Chunk #2 of 2 ... [15:15:48.448] - Finding globals in 'args_list' chunk #2 ... [15:15:48.449] [15:15:48.449] [15:15:48.449] - Finding globals in 'args_list' for chunk #2 ... DONE [15:15:48.482] Chunk #2 of 2 ... DONE [15:15:48.483] Launching 2 futures (chunks) ... DONE [15:15:48.483] - resolving futures [15:15:48.483] - gathering results & relaying conditions (except errors) [15:15:48.516] - collecting values of futures [15:15:48.517] - accumulating results [15:15:48.518] - processing errors (handler = 'remove') [15:15:48.523] - extracting results [15:15:48.523] doFuture() ... DONE List of 5 $ :List of 2 ..$ i : int 1 ..$ value: num 0.199 $ :List of 2 ..$ i : int 3 ..$ value: num 0.121 $ :List of 2 ..$ i : int 5 ..$ value: num 0.027 $ :List of 2 ..$ i : int 7 ..$ value: num 0.00222 $ :List of 2 ..$ i : int 9 ..$ value: num 6.69e-05 - plan('multicore') ... DONE - plan('multisession') ... Error in file(con, "r") : cannot open the connection Calls: plan ... checkNumberOfLocalWorkers -> availableCores -> getCGroups2CpuMax Execution halted Flavor: r-devel-linux-x86_64-debian-gcc