Running ‘000.sessionDetails.R’ [1s/2s]
  Running ‘BatchJobsFuture,gc.R’ [5s/6s]
  Running ‘BatchJobsFuture.R’ [5s/6s]
  Running ‘BatchJobsFutureError.R’ [8s/17s]
  Running ‘DEPRECATED.resources.R’ [3s/4s]
  Running ‘batchjobs_custom.R’ [7s/9s]
  Running ‘batchjobs_interactive.R’ [6s/6s]
  Running ‘batchjobs_job.delay.R’ [14s/20s]
  Running ‘batchjobs_local.R’ [15s/19s]
  Running ‘batchjobs_multicore.R’ [27s/34s]
  Running ‘batchjobs_template.R’ [1s/2s]
  Running ‘demo.R’ [18s/22s]
  Running ‘dotdotdot.R’ [7s/9s]
  Running ‘future,labels.R’ [12s/14s]
  Running ‘globals,formulas.R’ [21s/25s]
  Running ‘globals,manual.R’ [15s/17s]
  Running ‘globals,subassignment.R’ [15s/17s]
  Running ‘globals,tricky.R’ [20s/23s]
  Running ‘nbrOfWorkers.R’ [1s/1s]
  Running ‘plan.R’ [6s/7s]
  Running ‘utils.R’ [1s/2s]
  Running ‘zzz,future_lapply.R’ [2s/2s]
Running the tests in ‘tests/zzz,future_lapply.R’ failed.
Complete output:
  > source("incl/start.R")
  Loading required package: future
  plan(): nbrOfWorkers() = 1
  > library("listenv")
  > future_lapply <- future.apply::future_lapply
  > 
  > strategies <- c("sequential", "multisession",
  +                 "batchjobs_interactive", "batchjobs_local")
  > 
  > message("*** future_lapply() ...")
  *** future_lapply() ...
  > 
  > message("- future_lapply(x, FUN=vector, ...) ...")
  - future_lapply(x, FUN=vector, ...) ...
  > 
  > x <- list(a="integer", b="numeric", c="character", c="list")
  > str(list(x=x))
  List of 1
   $ x:List of 4
    ..$ a: chr "integer"
    ..$ b: chr "numeric"
    ..$ c: chr "character"
    ..$ c: chr "list"
  > 
  > y0 <- lapply(x, FUN=vector, length=2L)
  > str(list(y0=y0))
  List of 1
   $ y0:List of 4
    ..$ a: int [1:2] 0 0
    ..$ b: num [1:2] 0 0
    ..$ c: chr [1:2] "" ""
    ..$ c:List of 2
    .. ..$ : NULL
    .. ..$ : NULL
  > 
  > for (scheduling in list(FALSE, TRUE)) {
  +   for (strategy in strategies) {
  +     message(sprintf("- plan('%s') ...", strategy))
  +     plan(strategy)
  +     y <- future_lapply(x, FUN=vector, length=2L, future.scheduling = scheduling)
  +     str(list(y=y))
  +     stopifnot(identical(y, y0))
  +   }
  + }
  - plan('sequential') ...
  plan(): nbrOfWorkers() = 1
  future_lapply() ...
  Finding globals ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  - globals found: [2] 'FUN', '.Internal'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 2.08 KiB (2128 bytes)
  - globals: [1] 'FUN'
  
  getGlobalsAndPackages() ... DONE
   - globals found: [1] 'FUN'
  
  Finding globals ... DONE
  Getting '...' globals ...
  resolve() on list ...
   recursive: 0
   length: 1
   elements: '...'
   length: 0 (resolved future 1)
  resolve() on list ... DONE
  Getting '...' globals ... DONE
  Globals to be used in all futures:
  List of 2
   $ ...future.FUN:function (mode = "logical", length = 0L)  
   $ ...          :List of 1
    ..$ length: int 2
    ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
   - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
   - attr(*, "where")=List of 2
    ..$ ...future.FUN:<environment: 0x56035df693c8> 
    ..$ ...          :<environment: 0x56035df693c8> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 2184
  Packages to be attached in all futures:
   chr(0) 
  Number of chunks: 4
  Number of futures (= number of chunks): 4
  Launching 4 futures (chunks) ...
  Chunk #1 of 4 ...
   - Finding globals in 'X' for chunk #1 ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  
  Searching for globals ... DONE
  - globals: [0] <none>
  getGlobalsAndPackages() ... DONE
  
  
   - Finding globals in 'X' for chunk #1 ... DONE
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 5 globals is 2.24 KiB (2296 bytes)
  - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize'
  
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 0): <none>
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore", future.globals.maxSize = NULL, 
              future.globals.method = NULL, future.globals.onMissing = NULL, 
              future.globals.onReference = NULL, future.globals.resolve = NULL, 
              future.resolve.recursive = NULL, width = 80L)
          {
              {
                  has_future <- requireNamespace("future", quietly = TRUE)
                  version <- if (has_future) 
                    packageVersion("future")
                  else NULL
                  if (!has_future || version < "1.8.0") {
                    info <- c(r_version = gsub("R version ", "", 
                      R.version$version.string), platform = sprintf("%s (%s-bit)", 
                      R.version$platform, 8 * .Machine$sizeof.pointer), 
                      os = paste(Sys.info()[c("sysname", "release", 
                        "version")], collapse = " "), hostname = Sys.info()[["nodename"]])
                    info <- sprintf("%s: %s", names(info), info)
                    info <- paste(info, collapse = "; ")
                    if (!has_future) {
                      msg <- sprintf("Package 'future' is not installed on worker (%s)", 
                        info)
                    }
                    else {
                      msg <- sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", 
                        info, version)
                    }
                    stop(msg)
                  }
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      if (is.na(TRUE)) {
      }
      else {
          if (TRUE) {
              ...future.stdout <- rawConnection(raw(0L), open = "w")
          }
          else {
              ...future.stdout <- file(switch(.Platform$OS.type, 
                  windows = "NUL", "/dev/null"), open = "w")
          }
          sink(...future.stdout, type = "output", split = FALSE)
          on.exit(if (!is.null(...future.stdout)) {
              sink(type = "output", split = FALSE)
              close(...future.stdout)
          }, add = TRUE)
      }
      ...future.result <- tryCatch({
          ...future.value <- local({
              ...future.globals.maxSize.org <- getOption("future.globals.maxSize")
              if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) {
                  oopts <- options(future.globals.maxSize = ...future.globals.maxSize)
                  on.exit(options(oopts), add = TRUE)
              }
              lapply(seq_along(...future.elements_ii), FUN = function(jj) {
                  ...future.X_jj <- ...future.elements_ii[[jj]]
                  ...future.FUN(...future.X_jj, ...)
              })
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, value2 = NA, condition = cond, 
              calls = calls, version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, local = TRUE, earlySignal = FALSE, 
                    label = NULL, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    local <- as.logical(local)
                    future <- SequentialFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, local = local, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
      if (is.na(TRUE)) {
      }
      else {
          sink(type = "output", split = FALSE)
          if (TRUE) {
              ...future.result$stdout <- rawToChar(rawConnectionValue(...future.stdout))
          }
          else {
              ...future.result["stdout"] <- list(NULL)
          }
          close(...future.stdout)
          ...future.stdout <- NULL
      }
      ...future.result
  }
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  Chunk #1 of 4 ... DONE
  Chunk #2 of 4 ...
   - Finding globals in 'X' for chunk #2 ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  
  Searching for globals ... DONE
  - globals: [0] <none>
  getGlobalsAndPackages() ... DONE
  
  
   - Finding globals in 'X' for chunk #2 ... DONE
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 5 globals is 2.24 KiB (2296 bytes)
  - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize'
  
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 0): <none>
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore", future.globals.maxSize = NULL, 
              future.globals.method = NULL, future.globals.onMissing = "ignore", 
              future.globals.onReference = NULL, future.globals.resolve = NULL, 
              future.resolve.recursive = NULL, width = 80L)
          {
              {
                  has_future <- requireNamespace("future", quietly = TRUE)
                  version <- if (has_future) 
                    packageVersion("future")
                  else NULL
                  if (!has_future || version < "1.8.0") {
                    info <- c(r_version = gsub("R version ", "", 
                      R.version$version.string), platform = sprintf("%s (%s-bit)", 
                      R.version$platform, 8 * .Machine$sizeof.pointer), 
                      os = paste(Sys.info()[c("sysname", "release", 
                        "version")], collapse = " "), hostname = Sys.info()[["nodename"]])
                    info <- sprintf("%s: %s", names(info), info)
                    info <- paste(info, collapse = "; ")
                    if (!has_future) {
                      msg <- sprintf("Package 'future' is not installed on worker (%s)", 
                        info)
                    }
                    else {
                      msg <- sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", 
                        info, version)
                    }
                    stop(msg)
                  }
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      if (is.na(TRUE)) {
      }
      else {
          if (TRUE) {
              ...future.stdout <- rawConnection(raw(0L), open = "w")
          }
          else {
              ...future.stdout <- file(switch(.Platform$OS.type, 
                  windows = "NUL", "/dev/null"), open = "w")
          }
          sink(...future.stdout, type = "output", split = FALSE)
          on.exit(if (!is.null(...future.stdout)) {
              sink(type = "output", split = FALSE)
              close(...future.stdout)
          }, add = TRUE)
      }
      ...future.result <- tryCatch({
          ...future.value <- local({
              ...future.globals.maxSize.org <- getOption("future.globals.maxSize")
              if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) {
                  oopts <- options(future.globals.maxSize = ...future.globals.maxSize)
                  on.exit(options(oopts), add = TRUE)
              }
              lapply(seq_along(...future.elements_ii), FUN = function(jj) {
                  ...future.X_jj <- ...future.elements_ii[[jj]]
                  ...future.FUN(...future.X_jj, ...)
              })
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, value2 = NA, condition = cond, 
              calls = calls, version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, local = TRUE, earlySignal = FALSE, 
                    label = NULL, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    local <- as.logical(local)
                    future <- SequentialFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, local = local, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
      if (is.na(TRUE)) {
      }
      else {
          sink(type = "output", split = FALSE)
          if (TRUE) {
              ...future.result$stdout <- rawToChar(rawConnectionValue(...future.stdout))
          }
          else {
              ...future.result["stdout"] <- list(NULL)
          }
          close(...future.stdout)
          ...future.stdout <- NULL
      }
      ...future.result
  }
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  Chunk #2 of 4 ... DONE
  Chunk #3 of 4 ...
   - Finding globals in 'X' for chunk #3 ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  
  Searching for globals ... DONE
  - globals: [0] <none>
  getGlobalsAndPackages() ... DONE
  
  
   - Finding globals in 'X' for chunk #3 ... DONE
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 5 globals is 2.25 KiB (2304 bytes)
  - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize'
  
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 0): <none>
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore", future.globals.maxSize = NULL, 
              future.globals.method = NULL, future.globals.onMissing = "ignore", 
              future.globals.onReference = NULL, future.globals.resolve = NULL, 
              future.resolve.recursive = NULL, width = 80L)
          {
              {
                  has_future <- requireNamespace("future", quietly = TRUE)
                  version <- if (has_future) 
                    packageVersion("future")
                  else NULL
                  if (!has_future || version < "1.8.0") {
                    info <- c(r_version = gsub("R version ", "", 
                      R.version$version.string), platform = sprintf("%s (%s-bit)", 
                      R.version$platform, 8 * .Machine$sizeof.pointer), 
                      os = paste(Sys.info()[c("sysname", "release", 
                        "version")], collapse = " "), hostname = Sys.info()[["nodename"]])
                    info <- sprintf("%s: %s", names(info), info)
                    info <- paste(info, collapse = "; ")
                    if (!has_future) {
                      msg <- sprintf("Package 'future' is not installed on worker (%s)", 
                        info)
                    }
                    else {
                      msg <- sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", 
                        info, version)
                    }
                    stop(msg)
                  }
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      if (is.na(TRUE)) {
      }
      else {
          if (TRUE) {
              ...future.stdout <- rawConnection(raw(0L), open = "w")
          }
          else {
              ...future.stdout <- file(switch(.Platform$OS.type, 
                  windows = "NUL", "/dev/null"), open = "w")
          }
          sink(...future.stdout, type = "output", split = FALSE)
          on.exit(if (!is.null(...future.stdout)) {
              sink(type = "output", split = FALSE)
              close(...future.stdout)
          }, add = TRUE)
      }
      ...future.result <- tryCatch({
          ...future.value <- local({
              ...future.globals.maxSize.org <- getOption("future.globals.maxSize")
              if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) {
                  oopts <- options(future.globals.maxSize = ...future.globals.maxSize)
                  on.exit(options(oopts), add = TRUE)
              }
              lapply(seq_along(...future.elements_ii), FUN = function(jj) {
                  ...future.X_jj <- ...future.elements_ii[[jj]]
                  ...future.FUN(...future.X_jj, ...)
              })
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, value2 = NA, condition = cond, 
              calls = calls, version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, local = TRUE, earlySignal = FALSE, 
                    label = NULL, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    local <- as.logical(local)
                    future <- SequentialFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, local = local, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
      if (is.na(TRUE)) {
      }
      else {
          sink(type = "output", split = FALSE)
          if (TRUE) {
              ...future.result$stdout <- rawToChar(rawConnectionValue(...future.stdout))
          }
          else {
              ...future.result["stdout"] <- list(NULL)
          }
          close(...future.stdout)
          ...future.stdout <- NULL
      }
      ...future.result
  }
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  Chunk #3 of 4 ... DONE
  Chunk #4 of 4 ...
   - Finding globals in 'X' for chunk #4 ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  
  Searching for globals ... DONE
  - globals: [0] <none>
  getGlobalsAndPackages() ... DONE
  
  
   - Finding globals in 'X' for chunk #4 ... DONE
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 5 globals is 2.24 KiB (2296 bytes)
  - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize'
  
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 0): <none>
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore", future.globals.maxSize = NULL, 
              future.globals.method = NULL, future.globals.onMissing = "ignore", 
              future.globals.onReference = NULL, future.globals.resolve = NULL, 
              future.resolve.recursive = NULL, width = 80L)
          {
              {
                  has_future <- requireNamespace("future", quietly = TRUE)
                  version <- if (has_future) 
                    packageVersion("future")
                  else NULL
                  if (!has_future || version < "1.8.0") {
                    info <- c(r_version = gsub("R version ", "", 
                      R.version$version.string), platform = sprintf("%s (%s-bit)", 
                      R.version$platform, 8 * .Machine$sizeof.pointer), 
                      os = paste(Sys.info()[c("sysname", "release", 
                        "version")], collapse = " "), hostname = Sys.info()[["nodename"]])
                    info <- sprintf("%s: %s", names(info), info)
                    info <- paste(info, collapse = "; ")
                    if (!has_future) {
                      msg <- sprintf("Package 'future' is not installed on worker (%s)", 
                        info)
                    }
                    else {
                      msg <- sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", 
                        info, version)
                    }
                    stop(msg)
                  }
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      if (is.na(TRUE)) {
      }
      else {
          if (TRUE) {
              ...future.stdout <- rawConnection(raw(0L), open = "w")
          }
          else {
              ...future.stdout <- file(switch(.Platform$OS.type, 
                  windows = "NUL", "/dev/null"), open = "w")
          }
          sink(...future.stdout, type = "output", split = FALSE)
          on.exit(if (!is.null(...future.stdout)) {
              sink(type = "output", split = FALSE)
              close(...future.stdout)
          }, add = TRUE)
      }
      ...future.result <- tryCatch({
          ...future.value <- local({
              ...future.globals.maxSize.org <- getOption("future.globals.maxSize")
              if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) {
                  oopts <- options(future.globals.maxSize = ...future.globals.maxSize)
                  on.exit(options(oopts), add = TRUE)
              }
              lapply(seq_along(...future.elements_ii), FUN = function(jj) {
                  ...future.X_jj <- ...future.elements_ii[[jj]]
                  ...future.FUN(...future.X_jj, ...)
              })
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, value2 = NA, condition = cond, 
              calls = calls, version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, local = TRUE, earlySignal = FALSE, 
                    label = NULL, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    local <- as.logical(local)
                    future <- SequentialFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, local = local, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
      if (is.na(TRUE)) {
      }
      else {
          sink(type = "output", split = FALSE)
          if (TRUE) {
              ...future.result$stdout <- rawToChar(rawConnectionValue(...future.stdout))
          }
          else {
              ...future.result["stdout"] <- list(NULL)
          }
          close(...future.stdout)
          ...future.stdout <- NULL
      }
      ...future.result
  }
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  Chunk #4 of 4 ... DONE
  Launching 4 futures (chunks) ... DONE
  Resolving 4 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 4
  
   length: 3 (resolved future 1)
   length: 2 (resolved future 2)
   length: 1 (resolved future 3)
   length: 0 (resolved future 4)
  resolve() on list ... DONE
   - Number of value chunks collected: 4
  Resolving 4 futures (chunks) ... DONE
  Reducing values from 4 chunks ...
   - Number of values collected after concatenation: 4
   - Number of values expected: 4
  Reducing values from 4 chunks ... DONE
  future_lapply() ... DONE
  List of 1
   $ y:List of 4
    ..$ a: int [1:2] 0 0
    ..$ b: num [1:2] 0 0
    ..$ c: chr [1:2] "" ""
    ..$ c:List of 2
    .. ..$ : NULL
    .. ..$ : NULL
  - plan('multisession') ...
  plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ...
  multisession:
  - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, workers = availableCores(), gc = FALSE, earlySignal = FALSE, label = NULL, ...)
  - tweaked: FALSE
  - call: plan(strategy)
  Workers: [n = 2] 'localhost', 'localhost'
  Base port: 11122
  Creating node 1 of 2 ...
  - setting up node
  Starting worker #1 on 'localhost': '/home/hornik/tmp/R.check/r-release-gcc/Work/build/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e 'parallel:::.slaveRSOCK()' MASTER=localhost PORT=11122 OUT=/dev/null TIMEOUT=2592000 XDR=TRUE
  Waiting for worker #1 on 'localhost' to connect back
  Warning in socketConnection("localhost", port = port, server = TRUE, blocking = TRUE,  :
    port 11122 cannot be opened
  Error in socketConnection("localhost", port = port, server = TRUE, blocking = TRUE,  : 
    cannot open the connection
  Calls: plan ... makeClusterPSOCK -> makeNode -> <Anonymous> -> socketConnection
  Execution halted