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 |
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