Running ‘000.sessionDetails.R’ [2s/2s]
  Running ‘BatchJobsFuture,gc.R’ [6s/9s]
  Running ‘BatchJobsFuture.R’ [6s/8s]
  Running ‘BatchJobsFutureError.R’ [8s/16s]
  Running ‘DEPRECATED.resources.R’ [4s/5s]
  Running ‘batchjobs_custom.R’ [8s/11s]
  Running ‘batchjobs_interactive.R’ [6s/8s]
  Running ‘batchjobs_job.delay.R’ [16s/27s]
  Running ‘batchjobs_local.R’ [18s/26s]
  Running ‘batchjobs_multicore.R’ [32s/46s]
  Running ‘batchjobs_template.R’ [2s/3s]
  Running ‘demo.R’ [21s/29s]
  Running ‘dotdotdot.R’ [8s/10s]
  Running ‘future,labels.R’ [13s/18s]
  Running ‘future_lapply.R’ [53s/83s]
Running the tests in ‘tests/future_lapply.R’ failed.
Complete output:
  > source("incl/start.R")
  Loading required package: future
  plan(): nbrOfWorkers() = 1
  > library("listenv")
  > 
  > 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
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  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: 0x6892aa0> 
    ..$ ...          :<environment: 0x6892aa0> 
   - 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 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          ...future.value <- local({
              lapply(seq_along(...future.x_ii), FUN = function(jj) {
                  ...future.x_jj <- ...future.x_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, 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)
          }
      })
  }
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  Chunk #1 of 4 ... DONE
  Chunk #2 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          ...future.value <- local({
              lapply(seq_along(...future.x_ii), FUN = function(jj) {
                  ...future.x_jj <- ...future.x_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, 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)
          }
      })
  }
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  Chunk #2 of 4 ... DONE
  Chunk #3 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.25 KiB (2304 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          ...future.value <- local({
              lapply(seq_along(...future.x_ii), FUN = function(jj) {
                  ...future.x_jj <- ...future.x_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, 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)
          }
      })
  }
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  Chunk #3 of 4 ... DONE
  Chunk #4 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          ...future.value <- local({
              lapply(seq_along(...future.x_ii), FUN = function(jj) {
                  ...future.x_jj <- ...future.x_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, 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)
          }
      })
  }
  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 folding: 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'
  Warning in makeClusterPSOCK(workers, ...) :
    Non-numeric value of environment variable 'R_PARALLEL_PORT' coerced to NA_integer_: 'random'
  Base port: 11552
  Creating node 1 of 2 ...
  - setting up node
  Starting worker #1 on 'localhost': '/home/hornik/tmp/R.check/r-devel-clang/Work/build/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e 'parallel:::.slaveRSOCK()' MASTER=localhost PORT=11552 OUT=/dev/null TIMEOUT=2592000 XDR=TRUE
  Waiting for worker #1 on 'localhost' to connect back
  Connection with worker #1 on 'localhost' established
  - assigning connection UUID
  - collecting session information
  Creating node 1 of 2 ... done
  Creating node 2 of 2 ...
  - setting up node
  Starting worker #2 on 'localhost': '/home/hornik/tmp/R.check/r-devel-clang/Work/build/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e 'parallel:::.slaveRSOCK()' MASTER=localhost PORT=11552 OUT=/dev/null TIMEOUT=2592000 XDR=TRUE
  Waiting for worker #2 on 'localhost' to connect back
  Connection with worker #2 on 'localhost' established
  - assigning connection UUID
  - collecting session information
  Creating node 2 of 2 ... 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")
          {
              {
                  {
                    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.mc.cores.old <- getOption("mc.cores")
                  options(mc.cores = 1L)
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local(NA)
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  MultisessionFuture started
  plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE
  plan(): nbrOfWorkers() = 2
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  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: 0x52a1720> 
    ..$ ...          :<environment: 0x52a1720> 
   - 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 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  {
                    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.mc.cores.old <- getOption("mc.cores")
                  options(mc.cores = 1L)
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Exporting 4 global objects (2.24 KiB) to cluster node #1 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #1 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #1 ... DONE
  Exporting 'future.call.arguments' (56 bytes) to cluster node #1 ...
  Exporting 'future.call.arguments' (56 bytes) to cluster node #1 ... DONE
  Exporting '...future.x_ii' (112 bytes) to cluster node #1 ...
  Exporting '...future.x_ii' (112 bytes) to cluster node #1 ... DONE
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ...
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE
  Exporting 4 global objects (2.24 KiB) to cluster node #1 ... DONE
  MultisessionFuture started
  Chunk #1 of 4 ... DONE
  Chunk #2 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  {
                    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.mc.cores.old <- getOption("mc.cores")
                  options(mc.cores = 1L)
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Exporting 4 global objects (2.24 KiB) to cluster node #2 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #2 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #2 ... DONE
  Exporting 'future.call.arguments' (56 bytes) to cluster node #2 ...
  Exporting 'future.call.arguments' (56 bytes) to cluster node #2 ... DONE
  Exporting '...future.x_ii' (112 bytes) to cluster node #2 ...
  Exporting '...future.x_ii' (112 bytes) to cluster node #2 ... DONE
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #2 ...
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #2 ... DONE
  Exporting 4 global objects (2.24 KiB) to cluster node #2 ... DONE
  MultisessionFuture started
  Chunk #2 of 4 ... DONE
  Chunk #3 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.25 KiB (2304 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  {
                    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.mc.cores.old <- getOption("mc.cores")
                  options(mc.cores = 1L)
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Poll #1 (0): usedNodes() = 2, workers = 2
  Exporting 4 global objects (2.25 KiB) to cluster node #1 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #1 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #1 ... DONE
  Exporting 'future.call.arguments' (56 bytes) to cluster node #1 ...
  Exporting 'future.call.arguments' (56 bytes) to cluster node #1 ... DONE
  Exporting '...future.x_ii' (120 bytes) to cluster node #1 ...
  Exporting '...future.x_ii' (120 bytes) to cluster node #1 ... DONE
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ...
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE
  Exporting 4 global objects (2.25 KiB) to cluster node #1 ... DONE
  MultisessionFuture started
  Chunk #3 of 4 ... DONE
  Chunk #4 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  {
                    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.mc.cores.old <- getOption("mc.cores")
                  options(mc.cores = 1L)
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Poll #1 (0): usedNodes() = 2, workers = 2
  Exporting 4 global objects (2.24 KiB) to cluster node #2 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #2 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #2 ... DONE
  Exporting 'future.call.arguments' (56 bytes) to cluster node #2 ...
  Exporting 'future.call.arguments' (56 bytes) to cluster node #2 ... DONE
  Exporting '...future.x_ii' (112 bytes) to cluster node #2 ...
  Exporting '...future.x_ii' (112 bytes) to cluster node #2 ... DONE
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #2 ...
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #2 ... DONE
  Exporting 4 global objects (2.24 KiB) to cluster node #2 ... DONE
  MultisessionFuture started
  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 folding: 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('batchjobs_interactive') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  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: 0x3ea4138> 
    ..$ ...          :<environment: 0x3ea4138> 
   - 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 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_701720071-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_701720071-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_701720071-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 115758402 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsInteractive()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Interactive"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_701720071-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Interactive.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #1 of 4 ... DONE
  Chunk #2 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1423862776-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1423862776-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1423862776-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 763700671 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsInteractive()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Interactive"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1423862776-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Interactive.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #2 of 4 ... DONE
  Chunk #3 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.25 KiB (2304 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_2137022070-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_2137022070-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_2137022070-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 356006426 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsInteractive()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Interactive"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_2137022070-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Interactive.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #3 of 4 ... DONE
  Chunk #4 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1073744897-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1073744897-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1073744897-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 291100475 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsInteractive()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Interactive"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1073744897-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Interactive.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #4 of 4 ... DONE
  Launching 4 futures (chunks) ... DONE
  Resolving 4 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 4
  
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 3 (resolved future 1)
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 2 (resolved future 2)
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 1 (resolved future 3)
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 0 (resolved future 4)
  resolve() on list ... DONE
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 1
   $ : int [1:2] 0 0
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_701720071-files'
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 1
   $ : num [1:2] 0 0
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1423862776-files'
  Polling...
  Poll #1 (0): status = done, started, submitted, t_avg, t_max, t_min
  Results:
  List of 1
   $ : chr [1:2] "" ""
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_2137022070-files'
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 1
   $ :List of 2
    ..$ : NULL
    ..$ : NULL
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1073744897-files'
   - Number of value chunks collected: 4
  Resolving 4 futures (chunks) ... DONE
  Reducing values from 4 chunks ...
   - Number of values collected after folding: 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('batchjobs_local') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  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: 0x6c74118> 
    ..$ ...          :<environment: 0x6c74118> 
   - 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 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1937606599-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1937606599-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1937606599-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 631851450 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsLocal()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Local"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1937606599-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Local.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #1 of 4 ... DONE
  Chunk #2 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_768649447-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_768649447-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_768649447-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 894406883 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsLocal()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Local"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_768649447-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Local.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #2 of 4 ... DONE
  Chunk #3 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.25 KiB (2304 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1088519929-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1088519929-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1088519929-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 546217185 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsLocal()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Local"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1088519929-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Local.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #3 of 4 ... DONE
  Chunk #4 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1357284244-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1357284244-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1357284244-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 892596851 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsLocal()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Local"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1357284244-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Local.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #4 of 4 ... DONE
  Launching 4 futures (chunks) ... DONE
  Resolving 4 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 4
  
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 3 (resolved future 1)
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 2 (resolved future 2)
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 1 (resolved future 3)
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 0 (resolved future 4)
  resolve() on list ... DONE
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 1
   $ : int [1:2] 0 0
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1937606599-files'
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 1
   $ : num [1:2] 0 0
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_768649447-files'
  Polling...
  Poll #1 (0): status = done, started, submitted, t_avg, t_max, t_min
  Results:
  List of 1
   $ : chr [1:2] "" ""
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1088519929-files'
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 1
   $ :List of 2
    ..$ : NULL
    ..$ : NULL
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1357284244-files'
   - Number of value chunks collected: 4
  Resolving 4 futures (chunks) ... DONE
  Reducing values from 4 chunks ...
   - Number of values collected after folding: 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('sequential') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  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: 0x67b07b8> 
    ..$ ...          :<environment: 0x67b07b8> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 2184
  Packages to be attached in all futures:
   chr(0) 
  Number of chunks: 1
  Number of futures (= number of chunks): 1
  Launching 1 futures (chunks) ...
  Chunk #1 of 1 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.58 KiB (2640 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          ...future.value <- local({
              lapply(seq_along(...future.x_ii), FUN = function(jj) {
                  ...future.x_jj <- ...future.x_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, 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)
          }
      })
  }
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  Chunk #1 of 1 ... DONE
  Launching 1 futures (chunks) ... DONE
  Resolving 1 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 1
  
   length: 0 (resolved future 1)
  resolve() on list ... DONE
   - Number of value chunks collected: 1
  Resolving 1 futures (chunks) ... DONE
  Reducing values from 1 chunks ...
   - Number of values collected after folding: 4
   - Number of values expected: 4
  Reducing values from 1 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'
  Warning in makeClusterPSOCK(workers, ...) :
    Non-numeric value of environment variable 'R_PARALLEL_PORT' coerced to NA_integer_: 'random'
  Base port: 11146
  Creating node 1 of 2 ...
  - setting up node
  Starting worker #1 on 'localhost': '/home/hornik/tmp/R.check/r-devel-clang/Work/build/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e 'parallel:::.slaveRSOCK()' MASTER=localhost PORT=11146 OUT=/dev/null TIMEOUT=2592000 XDR=TRUE
  Waiting for worker #1 on 'localhost' to connect back
  Connection with worker #1 on 'localhost' established
  - assigning connection UUID
  - collecting session information
  Creating node 1 of 2 ... done
  Creating node 2 of 2 ...
  - setting up node
  Starting worker #2 on 'localhost': '/home/hornik/tmp/R.check/r-devel-clang/Work/build/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e 'parallel:::.slaveRSOCK()' MASTER=localhost PORT=11146 OUT=/dev/null TIMEOUT=2592000 XDR=TRUE
  Waiting for worker #2 on 'localhost' to connect back
  Connection with worker #2 on 'localhost' established
  - assigning connection UUID
  - collecting session information
  Creating node 2 of 2 ... 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")
          {
              {
                  {
                    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.mc.cores.old <- getOption("mc.cores")
                  options(mc.cores = 1L)
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local(NA)
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  MultisessionFuture started
  plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE
  plan(): nbrOfWorkers() = 2
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  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: 0x4f8e740> 
    ..$ ...          :<environment: 0x4f8e740> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 2184
  Packages to be attached in all futures:
   chr(0) 
  Number of chunks: 2
  Number of futures (= number of chunks): 2
  Launching 2 futures (chunks) ...
  Chunk #1 of 2 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.35 KiB (2408 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  {
                    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.mc.cores.old <- getOption("mc.cores")
                  options(mc.cores = 1L)
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Exporting 4 global objects (2.35 KiB) to cluster node #1 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #1 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #1 ... DONE
  Exporting 'future.call.arguments' (56 bytes) to cluster node #1 ...
  Exporting 'future.call.arguments' (56 bytes) to cluster node #1 ... DONE
  Exporting '...future.x_ii' (224 bytes) to cluster node #1 ...
  Exporting '...future.x_ii' (224 bytes) to cluster node #1 ... DONE
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ...
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE
  Exporting 4 global objects (2.35 KiB) to cluster node #1 ... DONE
  MultisessionFuture started
  Chunk #1 of 2 ... DONE
  Chunk #2 of 2 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.36 KiB (2416 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  {
                    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.mc.cores.old <- getOption("mc.cores")
                  options(mc.cores = 1L)
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Exporting 4 global objects (2.36 KiB) to cluster node #2 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #2 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #2 ... DONE
  Exporting 'future.call.arguments' (56 bytes) to cluster node #2 ...
  Exporting 'future.call.arguments' (56 bytes) to cluster node #2 ... DONE
  Exporting '...future.x_ii' (232 bytes) to cluster node #2 ...
  Exporting '...future.x_ii' (232 bytes) to cluster node #2 ... DONE
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #2 ...
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #2 ... DONE
  Exporting 4 global objects (2.36 KiB) to cluster node #2 ... DONE
  MultisessionFuture started
  Chunk #2 of 2 ... DONE
  Launching 2 futures (chunks) ... DONE
  Resolving 2 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 2
  
   length: 1 (resolved future 1)
   length: 0 (resolved future 2)
  resolve() on list ... DONE
   - Number of value chunks collected: 2
  Resolving 2 futures (chunks) ... DONE
  Reducing values from 2 chunks ...
   - Number of values collected after folding: 4
   - Number of values expected: 4
  Reducing values from 2 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('batchjobs_interactive') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  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: 0x6bd2e88> 
    ..$ ...          :<environment: 0x6bd2e88> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 2184
  Packages to be attached in all futures:
   chr(0) 
  Number of chunks: 1
  Number of futures (= number of chunks): 1
  Launching 1 futures (chunks) ...
  Chunk #1 of 1 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.58 KiB (2640 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_849632440-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_849632440-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_849632440-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 238876994 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsInteractive()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Interactive"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_849632440-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Interactive.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #1 of 1 ... DONE
  Launching 1 futures (chunks) ... DONE
  Resolving 1 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 1
  
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 0 (resolved future 1)
  resolve() on list ... DONE
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 4
   $ : int [1:2] 0 0
   $ : num [1:2] 0 0
   $ : chr [1:2] "" ""
   $ :List of 2
    ..$ : NULL
    ..$ : NULL
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_849632440-files'
   - Number of value chunks collected: 1
  Resolving 1 futures (chunks) ... DONE
  Reducing values from 1 chunks ...
   - Number of values collected after folding: 4
   - Number of values expected: 4
  Reducing values from 1 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('batchjobs_local') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  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: 0x274d0b8> 
    ..$ ...          :<environment: 0x274d0b8> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 2184
  Packages to be attached in all futures:
   chr(0) 
  Number of chunks: 1
  Number of futures (= number of chunks): 1
  Launching 1 futures (chunks) ...
  Chunk #1 of 1 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.58 KiB (2640 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1316810715-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1316810715-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1316810715-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 698145834 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsLocal()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Local"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1316810715-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Local.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #1 of 1 ... DONE
  Launching 1 futures (chunks) ... DONE
  Resolving 1 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 1
  
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 0 (resolved future 1)
  resolve() on list ... DONE
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 4
   $ : int [1:2] 0 0
   $ : num [1:2] 0 0
   $ : chr [1:2] "" ""
   $ :List of 2
    ..$ : NULL
    ..$ : NULL
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1316810715-files'
   - Number of value chunks collected: 1
  Resolving 1 futures (chunks) ... DONE
  Reducing values from 1 chunks ...
   - Number of values collected after folding: 4
   - Number of values expected: 4
  Reducing values from 1 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
  > 
  > 
  > message("- future_lapply(x, FUN=base::vector, ...) ...")
  - future_lapply(x, FUN=base::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=base::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=base::vector, length=2L, future.scheduling = scheduling)
  +     str(list(y=y))
  +     stopifnot(identical(y, y0))
  +   }
  + }
  - plan('sequential') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  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: 0x577fac0> 
    ..$ ...          :<environment: 0x577fac0> 
   - 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 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          ...future.value <- local({
              lapply(seq_along(...future.x_ii), FUN = function(jj) {
                  ...future.x_jj <- ...future.x_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, 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)
          }
      })
  }
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  Chunk #1 of 4 ... DONE
  Chunk #2 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          ...future.value <- local({
              lapply(seq_along(...future.x_ii), FUN = function(jj) {
                  ...future.x_jj <- ...future.x_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, 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)
          }
      })
  }
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  Chunk #2 of 4 ... DONE
  Chunk #3 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.25 KiB (2304 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          ...future.value <- local({
              lapply(seq_along(...future.x_ii), FUN = function(jj) {
                  ...future.x_jj <- ...future.x_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, 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)
          }
      })
  }
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  Chunk #3 of 4 ... DONE
  Chunk #4 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          ...future.value <- local({
              lapply(seq_along(...future.x_ii), FUN = function(jj) {
                  ...future.x_jj <- ...future.x_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, 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)
          }
      })
  }
  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 folding: 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'
  Warning in makeClusterPSOCK(workers, ...) :
    Non-numeric value of environment variable 'R_PARALLEL_PORT' coerced to NA_integer_: 'random'
  Base port: 11406
  Creating node 1 of 2 ...
  - setting up node
  Starting worker #1 on 'localhost': '/home/hornik/tmp/R.check/r-devel-clang/Work/build/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e 'parallel:::.slaveRSOCK()' MASTER=localhost PORT=11406 OUT=/dev/null TIMEOUT=2592000 XDR=TRUE
  Waiting for worker #1 on 'localhost' to connect back
  Connection with worker #1 on 'localhost' established
  - assigning connection UUID
  - collecting session information
  Creating node 1 of 2 ... done
  Creating node 2 of 2 ...
  - setting up node
  Starting worker #2 on 'localhost': '/home/hornik/tmp/R.check/r-devel-clang/Work/build/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e 'parallel:::.slaveRSOCK()' MASTER=localhost PORT=11406 OUT=/dev/null TIMEOUT=2592000 XDR=TRUE
  Waiting for worker #2 on 'localhost' to connect back
  Connection with worker #2 on 'localhost' established
  - assigning connection UUID
  - collecting session information
  Creating node 2 of 2 ... 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")
          {
              {
                  {
                    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.mc.cores.old <- getOption("mc.cores")
                  options(mc.cores = 1L)
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local(NA)
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  MultisessionFuture started
  plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE
  plan(): nbrOfWorkers() = 2
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  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: 0x6fa8500> 
    ..$ ...          :<environment: 0x6fa8500> 
   - 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 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  {
                    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.mc.cores.old <- getOption("mc.cores")
                  options(mc.cores = 1L)
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Exporting 4 global objects (2.24 KiB) to cluster node #1 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #1 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #1 ... DONE
  Exporting 'future.call.arguments' (56 bytes) to cluster node #1 ...
  Exporting 'future.call.arguments' (56 bytes) to cluster node #1 ... DONE
  Exporting '...future.x_ii' (112 bytes) to cluster node #1 ...
  Exporting '...future.x_ii' (112 bytes) to cluster node #1 ... DONE
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ...
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE
  Exporting 4 global objects (2.24 KiB) to cluster node #1 ... DONE
  MultisessionFuture started
  Chunk #1 of 4 ... DONE
  Chunk #2 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  {
                    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.mc.cores.old <- getOption("mc.cores")
                  options(mc.cores = 1L)
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Exporting 4 global objects (2.24 KiB) to cluster node #2 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #2 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #2 ... DONE
  Exporting 'future.call.arguments' (56 bytes) to cluster node #2 ...
  Exporting 'future.call.arguments' (56 bytes) to cluster node #2 ... DONE
  Exporting '...future.x_ii' (112 bytes) to cluster node #2 ...
  Exporting '...future.x_ii' (112 bytes) to cluster node #2 ... DONE
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #2 ...
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #2 ... DONE
  Exporting 4 global objects (2.24 KiB) to cluster node #2 ... DONE
  MultisessionFuture started
  Chunk #2 of 4 ... DONE
  Chunk #3 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.25 KiB (2304 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  {
                    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.mc.cores.old <- getOption("mc.cores")
                  options(mc.cores = 1L)
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Poll #1 (0): usedNodes() = 2, workers = 2
  Exporting 4 global objects (2.25 KiB) to cluster node #1 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #1 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #1 ... DONE
  Exporting 'future.call.arguments' (56 bytes) to cluster node #1 ...
  Exporting 'future.call.arguments' (56 bytes) to cluster node #1 ... DONE
  Exporting '...future.x_ii' (120 bytes) to cluster node #1 ...
  Exporting '...future.x_ii' (120 bytes) to cluster node #1 ... DONE
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ...
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE
  Exporting 4 global objects (2.25 KiB) to cluster node #1 ... DONE
  MultisessionFuture started
  Chunk #3 of 4 ... DONE
  Chunk #4 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  {
                    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.mc.cores.old <- getOption("mc.cores")
                  options(mc.cores = 1L)
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Poll #1 (0): usedNodes() = 2, workers = 2
  Exporting 4 global objects (2.24 KiB) to cluster node #2 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #2 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #2 ... DONE
  Exporting 'future.call.arguments' (56 bytes) to cluster node #2 ...
  Exporting 'future.call.arguments' (56 bytes) to cluster node #2 ... DONE
  Exporting '...future.x_ii' (112 bytes) to cluster node #2 ...
  Exporting '...future.x_ii' (112 bytes) to cluster node #2 ... DONE
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #2 ...
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #2 ... DONE
  Exporting 4 global objects (2.24 KiB) to cluster node #2 ... DONE
  MultisessionFuture started
  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 folding: 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('batchjobs_interactive') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  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: 0x4f7a458> 
    ..$ ...          :<environment: 0x4f7a458> 
   - 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 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1058300525-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1058300525-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1058300525-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 496006553 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsInteractive()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Interactive"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1058300525-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Interactive.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #1 of 4 ... DONE
  Chunk #2 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_468657362-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_468657362-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_468657362-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 488920841 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsInteractive()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Interactive"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_468657362-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Interactive.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #2 of 4 ... DONE
  Chunk #3 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.25 KiB (2304 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1232442652-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1232442652-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1232442652-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 967857982 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsInteractive()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Interactive"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1232442652-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Interactive.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #3 of 4 ... DONE
  Chunk #4 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1120131210-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1120131210-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1120131210-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 299089622 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsInteractive()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Interactive"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1120131210-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Interactive.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #4 of 4 ... DONE
  Launching 4 futures (chunks) ... DONE
  Resolving 4 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 4
  
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 3 (resolved future 1)
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 2 (resolved future 2)
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 1 (resolved future 3)
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 0 (resolved future 4)
  resolve() on list ... DONE
  Polling...
  Poll #1 (0): status = done, started, submitted, t_avg, t_max, t_min
  Results:
  List of 1
   $ : int [1:2] 0 0
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1058300525-files'
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 1
   $ : num [1:2] 0 0
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_468657362-files'
  Polling...
  Poll #1 (0): status = done, started, submitted, t_avg, t_max, t_min
  Results:
  List of 1
   $ : chr [1:2] "" ""
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1232442652-files'
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 1
   $ :List of 2
    ..$ : NULL
    ..$ : NULL
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1120131210-files'
   - Number of value chunks collected: 4
  Resolving 4 futures (chunks) ... DONE
  Reducing values from 4 chunks ...
   - Number of values collected after folding: 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('batchjobs_local') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  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: 0x6ae9600> 
    ..$ ...          :<environment: 0x6ae9600> 
   - 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 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1747385634-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1747385634-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1747385634-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 513514519 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsLocal()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Local"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1747385634-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Local.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #1 of 4 ... DONE
  Chunk #2 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1523367435-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1523367435-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1523367435-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 780470748 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsLocal()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Local"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1523367435-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Local.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #2 of 4 ... DONE
  Chunk #3 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.25 KiB (2304 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1008305943-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1008305943-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1008305943-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 347884124 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsLocal()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Local"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1008305943-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Local.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #3 of 4 ... DONE
  Chunk #4 of 4 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.24 KiB (2296 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1556928852-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1556928852-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1556928852-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 123706223 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsLocal()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Local"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1556928852-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Local.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #4 of 4 ... DONE
  Launching 4 futures (chunks) ... DONE
  Resolving 4 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 4
  
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 3 (resolved future 1)
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 2 (resolved future 2)
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 1 (resolved future 3)
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 0 (resolved future 4)
  resolve() on list ... DONE
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 1
   $ : int [1:2] 0 0
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1747385634-files'
  Polling...
  Poll #1 (0): status = done, started, submitted, t_avg, t_max, t_min
  Results:
  List of 1
   $ : num [1:2] 0 0
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1523367435-files'
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 1
   $ : chr [1:2] "" ""
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1008305943-files'
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 1
   $ :List of 2
    ..$ : NULL
    ..$ : NULL
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1556928852-files'
   - Number of value chunks collected: 4
  Resolving 4 futures (chunks) ... DONE
  Reducing values from 4 chunks ...
   - Number of values collected after folding: 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('sequential') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  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: 0x6d4de18> 
    ..$ ...          :<environment: 0x6d4de18> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 2184
  Packages to be attached in all futures:
   chr(0) 
  Number of chunks: 1
  Number of futures (= number of chunks): 1
  Launching 1 futures (chunks) ...
  Chunk #1 of 1 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.58 KiB (2640 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          ...future.value <- local({
              lapply(seq_along(...future.x_ii), FUN = function(jj) {
                  ...future.x_jj <- ...future.x_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, 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)
          }
      })
  }
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  Chunk #1 of 1 ... DONE
  Launching 1 futures (chunks) ... DONE
  Resolving 1 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 1
  
   length: 0 (resolved future 1)
  resolve() on list ... DONE
   - Number of value chunks collected: 1
  Resolving 1 futures (chunks) ... DONE
  Reducing values from 1 chunks ...
   - Number of values collected after folding: 4
   - Number of values expected: 4
  Reducing values from 1 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'
  Warning in makeClusterPSOCK(workers, ...) :
    Non-numeric value of environment variable 'R_PARALLEL_PORT' coerced to NA_integer_: 'random'
  Base port: 11507
  Creating node 1 of 2 ...
  - setting up node
  Starting worker #1 on 'localhost': '/home/hornik/tmp/R.check/r-devel-clang/Work/build/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e 'parallel:::.slaveRSOCK()' MASTER=localhost PORT=11507 OUT=/dev/null TIMEOUT=2592000 XDR=TRUE
  Waiting for worker #1 on 'localhost' to connect back
  Connection with worker #1 on 'localhost' established
  - assigning connection UUID
  - collecting session information
  Creating node 1 of 2 ... done
  Creating node 2 of 2 ...
  - setting up node
  Starting worker #2 on 'localhost': '/home/hornik/tmp/R.check/r-devel-clang/Work/build/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e 'parallel:::.slaveRSOCK()' MASTER=localhost PORT=11507 OUT=/dev/null TIMEOUT=2592000 XDR=TRUE
  Waiting for worker #2 on 'localhost' to connect back
  Connection with worker #2 on 'localhost' established
  - assigning connection UUID
  - collecting session information
  Creating node 2 of 2 ... 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")
          {
              {
                  {
                    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.mc.cores.old <- getOption("mc.cores")
                  options(mc.cores = 1L)
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local(NA)
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  MultisessionFuture started
  plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE
  plan(): nbrOfWorkers() = 2
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  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: 0x503bc90> 
    ..$ ...          :<environment: 0x503bc90> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 2184
  Packages to be attached in all futures:
   chr(0) 
  Number of chunks: 2
  Number of futures (= number of chunks): 2
  Launching 2 futures (chunks) ...
  Chunk #1 of 2 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.35 KiB (2408 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  {
                    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.mc.cores.old <- getOption("mc.cores")
                  options(mc.cores = 1L)
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Exporting 4 global objects (2.35 KiB) to cluster node #1 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #1 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #1 ... DONE
  Exporting 'future.call.arguments' (56 bytes) to cluster node #1 ...
  Exporting 'future.call.arguments' (56 bytes) to cluster node #1 ... DONE
  Exporting '...future.x_ii' (224 bytes) to cluster node #1 ...
  Exporting '...future.x_ii' (224 bytes) to cluster node #1 ... DONE
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ...
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE
  Exporting 4 global objects (2.35 KiB) to cluster node #1 ... DONE
  MultisessionFuture started
  Chunk #1 of 2 ... DONE
  Chunk #2 of 2 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.36 KiB (2416 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  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")
          {
              {
                  {
                    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.mc.cores.old <- getOption("mc.cores")
                  options(mc.cores = 1L)
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Exporting 4 global objects (2.36 KiB) to cluster node #2 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #2 ...
  Exporting '...future.FUN' (2.08 KiB) to cluster node #2 ... DONE
  Exporting 'future.call.arguments' (56 bytes) to cluster node #2 ...
  Exporting 'future.call.arguments' (56 bytes) to cluster node #2 ... DONE
  Exporting '...future.x_ii' (232 bytes) to cluster node #2 ...
  Exporting '...future.x_ii' (232 bytes) to cluster node #2 ... DONE
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #2 ...
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #2 ... DONE
  Exporting 4 global objects (2.36 KiB) to cluster node #2 ... DONE
  MultisessionFuture started
  Chunk #2 of 2 ... DONE
  Launching 2 futures (chunks) ... DONE
  Resolving 2 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 2
  
   length: 1 (resolved future 1)
   length: 0 (resolved future 2)
  resolve() on list ... DONE
   - Number of value chunks collected: 2
  Resolving 2 futures (chunks) ... DONE
  Reducing values from 2 chunks ...
   - Number of values collected after folding: 4
   - Number of values expected: 4
  Reducing values from 2 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('batchjobs_interactive') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  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: 0x210b560> 
    ..$ ...          :<environment: 0x210b560> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 2184
  Packages to be attached in all futures:
   chr(0) 
  Number of chunks: 1
  Number of futures (= number of chunks): 1
  Launching 1 futures (chunks) ...
  Chunk #1 of 1 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.58 KiB (2640 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1095965058-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1095965058-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1095965058-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 442605720 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsInteractive()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Interactive"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1095965058-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Interactive.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #1 of 1 ... DONE
  Launching 1 futures (chunks) ... DONE
  Resolving 1 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 1
  
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 0 (resolved future 1)
  resolve() on list ... DONE
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 4
   $ : int [1:2] 0 0
   $ : num [1:2] 0 0
   $ : chr [1:2] "" ""
   $ :List of 2
    ..$ : NULL
    ..$ : NULL
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1095965058-files'
   - Number of value chunks collected: 1
  Resolving 1 futures (chunks) ... DONE
  Reducing values from 1 chunks ...
   - Number of values collected after folding: 4
   - Number of values expected: 4
  Reducing values from 1 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('batchjobs_local') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  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: 0x274d588> 
    ..$ ...          :<environment: 0x274d588> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 2184
  Packages to be attached in all futures:
   chr(0) 
  Number of chunks: 1
  Number of futures (= number of chunks): 1
  Launching 1 futures (chunks) ...
  Chunk #1 of 1 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 2.58 KiB (2640 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1520585895-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1520585895-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1520585895-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 424281059 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsLocal()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Local"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1520585895-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Local.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #1 of 1 ... DONE
  Launching 1 futures (chunks) ... DONE
  Resolving 1 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 1
  
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 0 (resolved future 1)
  resolve() on list ... DONE
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 4
   $ : int [1:2] 0 0
   $ : num [1:2] 0 0
   $ : chr [1:2] "" ""
   $ :List of 2
    ..$ : NULL
    ..$ : NULL
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1520585895-files'
   - Number of value chunks collected: 1
  Resolving 1 futures (chunks) ... DONE
  Reducing values from 1 chunks ...
   - Number of values collected after folding: 4
   - Number of values expected: 4
  Reducing values from 1 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
  > 
  > message("- future_lapply(x, FUN=future:::hpaste, ...) ...")
  - future_lapply(x, FUN=future:::hpaste, ...) ...
  > 
  > x <- list(a=c("hello", b=1:100))
  > str(list(x=x))
  List of 1
   $ x:List of 1
    ..$ a: Named chr [1:101] "hello" "1" "2" "3" ...
    .. ..- attr(*, "names")= chr [1:101] "" "b1" "b2" "b3" ...
  > 
  > y0 <- lapply(x, FUN=future:::hpaste, collapse="; ", maxHead=3L)
  > str(list(y0=y0))
  List of 1
   $ y0:List of 1
    ..$ a: chr "hello; 1; 2; ...; 100"
  > 
  > for (scheduling in list(FALSE, TRUE)) {
  +   for (strategy in strategies) {
  +     message(sprintf("- plan('%s') ...", strategy))
  +     plan(strategy)
  +     y <- future_lapply(x, FUN=future:::hpaste, collapse="; ", maxHead=3L, future.scheduling = scheduling)
  +     str(list(y=y))
  +     stopifnot(identical(y, y0))
  +   }
  + }
  - plan('sequential') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  future_lapply() ...
  Finding globals ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  - globals found: [22] 'FUN', 'if', 'missing', 'is.finite', '{', 'is.null', '<-', 'paste', 'length', '==', 'return', '>', '+', '[', 'seq_len', 'rev', 'c', '&&', '!', ':', '(', '-'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 69.02 KiB (70672 bytes)
  - globals: [1] 'FUN'
  - packages: [1] 'future'
  getGlobalsAndPackages() ... DONE
   - globals found: [1] 'FUN'
   - needed namespaces: [1] 'future'
  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 (..., sep = "", collapse = ", ", lastCollapse = NULL, maxHead = if (missing(lastCollapse)) 3 else Inf, 
      maxTail = if (is.finite(maxHead)) 1 else Inf, abbreviate = "...")  
   $ ...          :List of 2
    ..$ collapse: chr "; "
    ..$ maxHead : int 3
    ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
   - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
   - attr(*, "where")=List of 2
    ..$ ...future.FUN:<environment: 0x653a440> 
    ..$ ...          :<environment: 0x653a440> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 70840
  Packages to be attached in all futures:
   chr "future"
  Number of chunks: 1
  Number of futures (= number of chunks): 1
  Launching 1 futures (chunks) ...
  Chunk #1 of 1 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 82.01 KiB (83976 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'future'
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'future'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    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)
                    }
                  }
                  local({
                    for (pkg in "future") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              lapply(seq_along(...future.x_ii), FUN = function(jj) {
                  ...future.x_jj <- ...future.x_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, 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)
          }
      })
  }
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  Chunk #1 of 1 ... DONE
  Launching 1 futures (chunks) ... DONE
  Resolving 1 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 1
  
   length: 0 (resolved future 1)
  resolve() on list ... DONE
   - Number of value chunks collected: 1
  Resolving 1 futures (chunks) ... DONE
  Reducing values from 1 chunks ...
   - Number of values collected after folding: 1
   - Number of values expected: 1
  Reducing values from 1 chunks ... DONE
  future_lapply() ... DONE
  List of 1
   $ y:List of 1
    ..$ a: chr "hello; 1; 2; ...; 100"
  - 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'
  Warning in makeClusterPSOCK(workers, ...) :
    Non-numeric value of environment variable 'R_PARALLEL_PORT' coerced to NA_integer_: 'random'
  Base port: 11773
  Creating node 1 of 2 ...
  - setting up node
  Starting worker #1 on 'localhost': '/home/hornik/tmp/R.check/r-devel-clang/Work/build/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e 'parallel:::.slaveRSOCK()' MASTER=localhost PORT=11773 OUT=/dev/null TIMEOUT=2592000 XDR=TRUE
  Waiting for worker #1 on 'localhost' to connect back
  Connection with worker #1 on 'localhost' established
  - assigning connection UUID
  - collecting session information
  Creating node 1 of 2 ... done
  Creating node 2 of 2 ...
  - setting up node
  Starting worker #2 on 'localhost': '/home/hornik/tmp/R.check/r-devel-clang/Work/build/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e 'parallel:::.slaveRSOCK()' MASTER=localhost PORT=11773 OUT=/dev/null TIMEOUT=2592000 XDR=TRUE
  Waiting for worker #2 on 'localhost' to connect back
  Connection with worker #2 on 'localhost' established
  - assigning connection UUID
  - collecting session information
  Creating node 2 of 2 ... 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")
          {
              {
                  {
                    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.mc.cores.old <- getOption("mc.cores")
                  options(mc.cores = 1L)
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local(NA)
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  MultisessionFuture started
  plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE
  plan(): nbrOfWorkers() = 2
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  future_lapply() ...
  Finding globals ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  - globals found: [22] 'FUN', 'if', 'missing', 'is.finite', '{', 'is.null', '<-', 'paste', 'length', '==', 'return', '>', '+', '[', 'seq_len', 'rev', 'c', '&&', '!', ':', '(', '-'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 69.02 KiB (70672 bytes)
  - globals: [1] 'FUN'
  - packages: [1] 'future'
  getGlobalsAndPackages() ... DONE
   - globals found: [1] 'FUN'
   - needed namespaces: [1] 'future'
  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 (..., sep = "", collapse = ", ", lastCollapse = NULL, maxHead = if (missing(lastCollapse)) 3 else Inf, 
      maxTail = if (is.finite(maxHead)) 1 else Inf, abbreviate = "...")  
   $ ...          :List of 2
    ..$ collapse: chr "; "
    ..$ maxHead : int 3
    ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
   - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
   - attr(*, "where")=List of 2
    ..$ ...future.FUN:<environment: 0x29ce0a0> 
    ..$ ...          :<environment: 0x29ce0a0> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 70840
  Packages to be attached in all futures:
   chr "future"
  Number of chunks: 1
  Number of futures (= number of chunks): 1
  Launching 1 futures (chunks) ...
  Chunk #1 of 1 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 82.01 KiB (83976 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'future'
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'future'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    {
                      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.mc.cores.old <- getOption("mc.cores")
                    options(mc.cores = 1L)
                  }
                  local({
                    for (pkg in "future") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Exporting 4 global objects (82.01 KiB) to cluster node #1 ...
  Exporting '...future.FUN' (69.02 KiB) to cluster node #1 ...
  Exporting '...future.FUN' (69.02 KiB) to cluster node #1 ... DONE
  Exporting 'future.call.arguments' (168 bytes) to cluster node #1 ...
  Exporting 'future.call.arguments' (168 bytes) to cluster node #1 ... DONE
  Exporting '...future.x_ii' (12.83 KiB) to cluster node #1 ...
  Exporting '...future.x_ii' (12.83 KiB) to cluster node #1 ... DONE
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ...
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE
  Exporting 4 global objects (82.01 KiB) to cluster node #1 ... DONE
  MultisessionFuture started
  Chunk #1 of 1 ... DONE
  Launching 1 futures (chunks) ... DONE
  Resolving 1 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 1
  
   length: 0 (resolved future 1)
  resolve() on list ... DONE
   - Number of value chunks collected: 1
  Resolving 1 futures (chunks) ... DONE
  Reducing values from 1 chunks ...
   - Number of values collected after folding: 1
   - Number of values expected: 1
  Reducing values from 1 chunks ... DONE
  future_lapply() ... DONE
  List of 1
   $ y:List of 1
    ..$ a: chr "hello; 1; 2; ...; 100"
  - plan('batchjobs_interactive') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  future_lapply() ...
  Finding globals ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  - globals found: [22] 'FUN', 'if', 'missing', 'is.finite', '{', 'is.null', '<-', 'paste', 'length', '==', 'return', '>', '+', '[', 'seq_len', 'rev', 'c', '&&', '!', ':', '(', '-'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 69.02 KiB (70672 bytes)
  - globals: [1] 'FUN'
  - packages: [1] 'future'
  getGlobalsAndPackages() ... DONE
   - globals found: [1] 'FUN'
   - needed namespaces: [1] 'future'
  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 (..., sep = "", collapse = ", ", lastCollapse = NULL, maxHead = if (missing(lastCollapse)) 3 else Inf, 
      maxTail = if (is.finite(maxHead)) 1 else Inf, abbreviate = "...")  
   $ ...          :List of 2
    ..$ collapse: chr "; "
    ..$ maxHead : int 3
    ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
   - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
   - attr(*, "where")=List of 2
    ..$ ...future.FUN:<environment: 0x63d66d0> 
    ..$ ...          :<environment: 0x63d66d0> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 70840
  Packages to be attached in all futures:
   chr "future"
  Number of chunks: 1
  Number of futures (= number of chunks): 1
  Launching 1 futures (chunks) ...
  Chunk #1 of 1 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 82.01 KiB (83976 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'future'
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1294710545-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1294710545-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1294710545-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 25354560 
    Required packages: BatchJobs 
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'future'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    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)
                    }
                  }
                  local({
                    for (pkg in "future") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsInteractive()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Attaching 1 packages ('future') ...
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1294710545-files/registry.RData
  Attaching 1 packages ('future') ... DONE
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Interactive"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1294710545-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Interactive.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #1 of 1 ... DONE
  Launching 1 futures (chunks) ... DONE
  Resolving 1 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 1
  
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 0 (resolved future 1)
  resolve() on list ... DONE
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 1
   $ : chr "hello; 1; 2; ...; 100"
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1294710545-files'
   - Number of value chunks collected: 1
  Resolving 1 futures (chunks) ... DONE
  Reducing values from 1 chunks ...
   - Number of values collected after folding: 1
   - Number of values expected: 1
  Reducing values from 1 chunks ... DONE
  future_lapply() ... DONE
  List of 1
   $ y:List of 1
    ..$ a: chr "hello; 1; 2; ...; 100"
  - plan('batchjobs_local') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  future_lapply() ...
  Finding globals ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  - globals found: [22] 'FUN', 'if', 'missing', 'is.finite', '{', 'is.null', '<-', 'paste', 'length', '==', 'return', '>', '+', '[', 'seq_len', 'rev', 'c', '&&', '!', ':', '(', '-'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 69.02 KiB (70672 bytes)
  - globals: [1] 'FUN'
  - packages: [1] 'future'
  getGlobalsAndPackages() ... DONE
   - globals found: [1] 'FUN'
   - needed namespaces: [1] 'future'
  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 (..., sep = "", collapse = ", ", lastCollapse = NULL, maxHead = if (missing(lastCollapse)) 3 else Inf, 
      maxTail = if (is.finite(maxHead)) 1 else Inf, abbreviate = "...")  
   $ ...          :List of 2
    ..$ collapse: chr "; "
    ..$ maxHead : int 3
    ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
   - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
   - attr(*, "where")=List of 2
    ..$ ...future.FUN:<environment: 0x2bc9ca0> 
    ..$ ...          :<environment: 0x2bc9ca0> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 70840
  Packages to be attached in all futures:
   chr "future"
  Number of chunks: 1
  Number of futures (= number of chunks): 1
  Launching 1 futures (chunks) ...
  Chunk #1 of 1 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 82.01 KiB (83976 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'future'
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1543418476-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1543418476-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1543418476-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 292587971 
    Required packages: BatchJobs 
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'future'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    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)
                    }
                  }
                  local({
                    for (pkg in "future") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsLocal()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Attaching 1 packages ('future') ...
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1543418476-files/registry.RData
  Attaching 1 packages ('future') ... DONE
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Local"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1543418476-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Local.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #1 of 1 ... DONE
  Launching 1 futures (chunks) ... DONE
  Resolving 1 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 1
  
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 0 (resolved future 1)
  resolve() on list ... DONE
  Polling...
  Poll #1 (0): status = done, started, submitted, t_avg, t_max, t_min
  Results:
  List of 1
   $ : chr "hello; 1; 2; ...; 100"
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1543418476-files'
   - Number of value chunks collected: 1
  Resolving 1 futures (chunks) ... DONE
  Reducing values from 1 chunks ...
   - Number of values collected after folding: 1
   - Number of values expected: 1
  Reducing values from 1 chunks ... DONE
  future_lapply() ... DONE
  List of 1
   $ y:List of 1
    ..$ a: chr "hello; 1; 2; ...; 100"
  - plan('sequential') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  future_lapply() ...
  Finding globals ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  - globals found: [22] 'FUN', 'if', 'missing', 'is.finite', '{', 'is.null', '<-', 'paste', 'length', '==', 'return', '>', '+', '[', 'seq_len', 'rev', 'c', '&&', '!', ':', '(', '-'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 69.02 KiB (70672 bytes)
  - globals: [1] 'FUN'
  - packages: [1] 'future'
  getGlobalsAndPackages() ... DONE
   - globals found: [1] 'FUN'
   - needed namespaces: [1] 'future'
  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 (..., sep = "", collapse = ", ", lastCollapse = NULL, maxHead = if (missing(lastCollapse)) 3 else Inf, 
      maxTail = if (is.finite(maxHead)) 1 else Inf, abbreviate = "...")  
   $ ...          :List of 2
    ..$ collapse: chr "; "
    ..$ maxHead : int 3
    ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
   - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
   - attr(*, "where")=List of 2
    ..$ ...future.FUN:<environment: 0x63769a0> 
    ..$ ...          :<environment: 0x63769a0> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 70840
  Packages to be attached in all futures:
   chr "future"
  Number of chunks: 1
  Number of futures (= number of chunks): 1
  Launching 1 futures (chunks) ...
  Chunk #1 of 1 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 82.01 KiB (83976 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'future'
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'future'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    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)
                    }
                  }
                  local({
                    for (pkg in "future") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              lapply(seq_along(...future.x_ii), FUN = function(jj) {
                  ...future.x_jj <- ...future.x_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, 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)
          }
      })
  }
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  Chunk #1 of 1 ... DONE
  Launching 1 futures (chunks) ... DONE
  Resolving 1 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 1
  
   length: 0 (resolved future 1)
  resolve() on list ... DONE
   - Number of value chunks collected: 1
  Resolving 1 futures (chunks) ... DONE
  Reducing values from 1 chunks ...
   - Number of values collected after folding: 1
   - Number of values expected: 1
  Reducing values from 1 chunks ... DONE
  future_lapply() ... DONE
  List of 1
   $ y:List of 1
    ..$ a: chr "hello; 1; 2; ...; 100"
  - 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'
  Warning in makeClusterPSOCK(workers, ...) :
    Non-numeric value of environment variable 'R_PARALLEL_PORT' coerced to NA_integer_: 'random'
  Base port: 11000
  Creating node 1 of 2 ...
  - setting up node
  Starting worker #1 on 'localhost': '/home/hornik/tmp/R.check/r-devel-clang/Work/build/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e 'parallel:::.slaveRSOCK()' MASTER=localhost PORT=11000 OUT=/dev/null TIMEOUT=2592000 XDR=TRUE
  Waiting for worker #1 on 'localhost' to connect back
  Connection with worker #1 on 'localhost' established
  - assigning connection UUID
  - collecting session information
  Creating node 1 of 2 ... done
  Creating node 2 of 2 ...
  - setting up node
  Starting worker #2 on 'localhost': '/home/hornik/tmp/R.check/r-devel-clang/Work/build/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e 'parallel:::.slaveRSOCK()' MASTER=localhost PORT=11000 OUT=/dev/null TIMEOUT=2592000 XDR=TRUE
  Waiting for worker #2 on 'localhost' to connect back
  Connection with worker #2 on 'localhost' established
  - assigning connection UUID
  - collecting session information
  Creating node 2 of 2 ... 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")
          {
              {
                  {
                    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.mc.cores.old <- getOption("mc.cores")
                  options(mc.cores = 1L)
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local(NA)
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  MultisessionFuture started
  plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE
  plan(): nbrOfWorkers() = 2
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  future_lapply() ...
  Finding globals ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  - globals found: [22] 'FUN', 'if', 'missing', 'is.finite', '{', 'is.null', '<-', 'paste', 'length', '==', 'return', '>', '+', '[', 'seq_len', 'rev', 'c', '&&', '!', ':', '(', '-'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 69.02 KiB (70672 bytes)
  - globals: [1] 'FUN'
  - packages: [1] 'future'
  getGlobalsAndPackages() ... DONE
   - globals found: [1] 'FUN'
   - needed namespaces: [1] 'future'
  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 (..., sep = "", collapse = ", ", lastCollapse = NULL, maxHead = if (missing(lastCollapse)) 3 else Inf, 
      maxTail = if (is.finite(maxHead)) 1 else Inf, abbreviate = "...")  
   $ ...          :List of 2
    ..$ collapse: chr "; "
    ..$ maxHead : int 3
    ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
   - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
   - attr(*, "where")=List of 2
    ..$ ...future.FUN:<environment: 0x3939368> 
    ..$ ...          :<environment: 0x3939368> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 70840
  Packages to be attached in all futures:
   chr "future"
  Number of chunks: 1
  Number of futures (= number of chunks): 1
  Launching 1 futures (chunks) ...
  Chunk #1 of 1 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 82.01 KiB (83976 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'future'
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'future'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    {
                      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.mc.cores.old <- getOption("mc.cores")
                    options(mc.cores = 1L)
                  }
                  local({
                    for (pkg in "future") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Exporting 4 global objects (82.01 KiB) to cluster node #1 ...
  Exporting '...future.FUN' (69.02 KiB) to cluster node #1 ...
  Exporting '...future.FUN' (69.02 KiB) to cluster node #1 ... DONE
  Exporting 'future.call.arguments' (168 bytes) to cluster node #1 ...
  Exporting 'future.call.arguments' (168 bytes) to cluster node #1 ... DONE
  Exporting '...future.x_ii' (12.83 KiB) to cluster node #1 ...
  Exporting '...future.x_ii' (12.83 KiB) to cluster node #1 ... DONE
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ...
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE
  Exporting 4 global objects (82.01 KiB) to cluster node #1 ... DONE
  MultisessionFuture started
  Chunk #1 of 1 ... DONE
  Launching 1 futures (chunks) ... DONE
  Resolving 1 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 1
  
   length: 0 (resolved future 1)
  resolve() on list ... DONE
   - Number of value chunks collected: 1
  Resolving 1 futures (chunks) ... DONE
  Reducing values from 1 chunks ...
   - Number of values collected after folding: 1
   - Number of values expected: 1
  Reducing values from 1 chunks ... DONE
  future_lapply() ... DONE
  List of 1
   $ y:List of 1
    ..$ a: chr "hello; 1; 2; ...; 100"
  - plan('batchjobs_interactive') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  future_lapply() ...
  Finding globals ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  - globals found: [22] 'FUN', 'if', 'missing', 'is.finite', '{', 'is.null', '<-', 'paste', 'length', '==', 'return', '>', '+', '[', 'seq_len', 'rev', 'c', '&&', '!', ':', '(', '-'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 69.02 KiB (70672 bytes)
  - globals: [1] 'FUN'
  - packages: [1] 'future'
  getGlobalsAndPackages() ... DONE
   - globals found: [1] 'FUN'
   - needed namespaces: [1] 'future'
  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 (..., sep = "", collapse = ", ", lastCollapse = NULL, maxHead = if (missing(lastCollapse)) 3 else Inf, 
      maxTail = if (is.finite(maxHead)) 1 else Inf, abbreviate = "...")  
   $ ...          :List of 2
    ..$ collapse: chr "; "
    ..$ maxHead : int 3
    ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
   - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
   - attr(*, "where")=List of 2
    ..$ ...future.FUN:<environment: 0x53b4c10> 
    ..$ ...          :<environment: 0x53b4c10> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 70840
  Packages to be attached in all futures:
   chr "future"
  Number of chunks: 1
  Number of futures (= number of chunks): 1
  Launching 1 futures (chunks) ...
  Chunk #1 of 1 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 82.01 KiB (83976 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'future'
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_704436508-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_704436508-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_704436508-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 772030314 
    Required packages: BatchJobs 
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'future'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    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)
                    }
                  }
                  local({
                    for (pkg in "future") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsInteractive()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Attaching 1 packages ('future') ...
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_704436508-files/registry.RData
  Attaching 1 packages ('future') ... DONE
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Interactive"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_704436508-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Interactive.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #1 of 1 ... DONE
  Launching 1 futures (chunks) ... DONE
  Resolving 1 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 1
  
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 0 (resolved future 1)
  resolve() on list ... DONE
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 1
   $ : chr "hello; 1; 2; ...; 100"
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_704436508-files'
   - Number of value chunks collected: 1
  Resolving 1 futures (chunks) ... DONE
  Reducing values from 1 chunks ...
   - Number of values collected after folding: 1
   - Number of values expected: 1
  Reducing values from 1 chunks ... DONE
  future_lapply() ... DONE
  List of 1
   $ y:List of 1
    ..$ a: chr "hello; 1; 2; ...; 100"
  - plan('batchjobs_local') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  future_lapply() ...
  Finding globals ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  - globals found: [22] 'FUN', 'if', 'missing', 'is.finite', '{', 'is.null', '<-', 'paste', 'length', '==', 'return', '>', '+', '[', 'seq_len', 'rev', 'c', '&&', '!', ':', '(', '-'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 69.02 KiB (70672 bytes)
  - globals: [1] 'FUN'
  - packages: [1] 'future'
  getGlobalsAndPackages() ... DONE
   - globals found: [1] 'FUN'
   - needed namespaces: [1] 'future'
  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 (..., sep = "", collapse = ", ", lastCollapse = NULL, maxHead = if (missing(lastCollapse)) 3 else Inf, 
      maxTail = if (is.finite(maxHead)) 1 else Inf, abbreviate = "...")  
   $ ...          :List of 2
    ..$ collapse: chr "; "
    ..$ maxHead : int 3
    ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
   - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
   - attr(*, "where")=List of 2
    ..$ ...future.FUN:<environment: 0x2bca058> 
    ..$ ...          :<environment: 0x2bca058> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 70840
  Packages to be attached in all futures:
   chr "future"
  Number of chunks: 1
  Number of futures (= number of chunks): 1
  Launching 1 futures (chunks) ...
  Chunk #1 of 1 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 82.01 KiB (83976 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'future'
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1238006131-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1238006131-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1238006131-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 57844962 
    Required packages: BatchJobs 
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'future'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    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)
                    }
                  }
                  local({
                    for (pkg in "future") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsLocal()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Attaching 1 packages ('future') ...
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1238006131-files/registry.RData
  Attaching 1 packages ('future') ... DONE
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Local"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1238006131-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Local.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #1 of 1 ... DONE
  Launching 1 futures (chunks) ... DONE
  Resolving 1 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 1
  
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 0 (resolved future 1)
  resolve() on list ... DONE
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 1
   $ : chr "hello; 1; 2; ...; 100"
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1238006131-files'
   - Number of value chunks collected: 1
  Resolving 1 futures (chunks) ... DONE
  Reducing values from 1 chunks ...
   - Number of values collected after folding: 1
   - Number of values expected: 1
  Reducing values from 1 chunks ... DONE
  future_lapply() ... DONE
  List of 1
   $ y:List of 1
    ..$ a: chr "hello; 1; 2; ...; 100"
  > 
  > 
  > message("- future_lapply(x, FUN=listenv::listenv, ...) ...")
  - future_lapply(x, FUN=listenv::listenv, ...) ...
  > 
  > x <- list()
  > 
  > y <- listenv()
  > y$A <- 3L
  > x$a <- y
  > 
  > y <- listenv()
  > y$A <- 3L
  > y$B <- c("hello", b=1:100)
  > x$b <- y
  > 
  > print(x)
  $a
  A 'listenv' vector with 1 element ('A').
  
  $b
  A 'listenv' vector with 2 elements ('A', 'B').
  
  > 
  > y0 <- lapply(x, FUN=listenv::map)
  > str(list(y0=y0))
  List of 1
   $ y0:List of 2
    ..$ a: Named chr "A"
    .. ..- attr(*, "names")= chr "A"
    ..$ b: Named chr [1:2] "A" "B"
    .. ..- attr(*, "names")= chr [1:2] "A" "B"
  > 
  > for (scheduling in list(FALSE, TRUE)) {
  +   for (strategy in strategies) {
  +     message(sprintf("- plan('%s') ...", strategy))
  +     plan(strategy)
  +     y <- future_lapply(x, FUN=listenv::map, future.scheduling = scheduling)
  +     str(list(y=y))
  +     stopifnot(identical(y, y0))
  +   }
  + }
  - plan('sequential') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  future_lapply() ...
  Finding globals ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  - globals found: [4] 'FUN', '{', 'get', 'parent.env'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 4.69 KiB (4800 bytes)
  - globals: [1] 'FUN'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
   - globals found: [1] 'FUN'
   - needed namespaces: [1] 'listenv'
  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 (x, ...)  
   $ ...          : list()
    ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
   - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
   - attr(*, "where")=List of 2
    ..$ ...future.FUN:<environment: 0x55c4d18> 
    ..$ ...          :<environment: 0x55c4d18> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 4800
  Packages to be attached in all futures:
   chr "listenv"
  Number of chunks: 2
  Number of futures (= number of chunks): 2
  Launching 2 futures (chunks) ...
  Chunk #1 of 2 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 4.80 KiB (4912 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'listenv'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    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)
                    }
                  }
                  local({
                    for (pkg in "listenv") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              lapply(seq_along(...future.x_ii), FUN = function(jj) {
                  ...future.x_jj <- ...future.x_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, 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)
          }
      })
  }
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  Chunk #1 of 2 ... DONE
  Chunk #2 of 2 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 17.62 KiB (18048 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'listenv'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    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)
                    }
                  }
                  local({
                    for (pkg in "listenv") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              lapply(seq_along(...future.x_ii), FUN = function(jj) {
                  ...future.x_jj <- ...future.x_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, 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)
          }
      })
  }
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  Chunk #2 of 2 ... DONE
  Launching 2 futures (chunks) ... DONE
  Resolving 2 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 2
  
   length: 1 (resolved future 1)
   length: 0 (resolved future 2)
  resolve() on list ... DONE
   - Number of value chunks collected: 2
  Resolving 2 futures (chunks) ... DONE
  Reducing values from 2 chunks ...
   - Number of values collected after folding: 2
   - Number of values expected: 2
  Reducing values from 2 chunks ... DONE
  future_lapply() ... DONE
  List of 1
   $ y:List of 2
    ..$ a: Named chr "A"
    .. ..- attr(*, "names")= chr "A"
    ..$ b: Named chr [1:2] "A" "B"
    .. ..- attr(*, "names")= chr [1:2] "A" "B"
  - 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'
  Warning in makeClusterPSOCK(workers, ...) :
    Non-numeric value of environment variable 'R_PARALLEL_PORT' coerced to NA_integer_: 'random'
  Base port: 11130
  Creating node 1 of 2 ...
  - setting up node
  Starting worker #1 on 'localhost': '/home/hornik/tmp/R.check/r-devel-clang/Work/build/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e 'parallel:::.slaveRSOCK()' MASTER=localhost PORT=11130 OUT=/dev/null TIMEOUT=2592000 XDR=TRUE
  Waiting for worker #1 on 'localhost' to connect back
  Connection with worker #1 on 'localhost' established
  - assigning connection UUID
  - collecting session information
  Creating node 1 of 2 ... done
  Creating node 2 of 2 ...
  - setting up node
  Starting worker #2 on 'localhost': '/home/hornik/tmp/R.check/r-devel-clang/Work/build/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e 'parallel:::.slaveRSOCK()' MASTER=localhost PORT=11130 OUT=/dev/null TIMEOUT=2592000 XDR=TRUE
  Waiting for worker #2 on 'localhost' to connect back
  Connection with worker #2 on 'localhost' established
  - assigning connection UUID
  - collecting session information
  Creating node 2 of 2 ... 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")
          {
              {
                  {
                    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.mc.cores.old <- getOption("mc.cores")
                  options(mc.cores = 1L)
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local(NA)
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  MultisessionFuture started
  plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE
  plan(): nbrOfWorkers() = 2
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  future_lapply() ...
  Finding globals ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  - globals found: [4] 'FUN', '{', 'get', 'parent.env'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 4.69 KiB (4800 bytes)
  - globals: [1] 'FUN'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
   - globals found: [1] 'FUN'
   - needed namespaces: [1] 'listenv'
  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 (x, ...)  
   $ ...          : list()
    ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
   - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
   - attr(*, "where")=List of 2
    ..$ ...future.FUN:<environment: 0x2ade908> 
    ..$ ...          :<environment: 0x2ade908> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 4800
  Packages to be attached in all futures:
   chr "listenv"
  Number of chunks: 2
  Number of futures (= number of chunks): 2
  Launching 2 futures (chunks) ...
  Chunk #1 of 2 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 4.80 KiB (4912 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'listenv'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    {
                      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.mc.cores.old <- getOption("mc.cores")
                    options(mc.cores = 1L)
                  }
                  local({
                    for (pkg in "listenv") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Exporting 4 global objects (4.80 KiB) to cluster node #1 ...
  Exporting '...future.FUN' (4.69 KiB) to cluster node #1 ...
  Exporting '...future.FUN' (4.69 KiB) to cluster node #1 ... DONE
  Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ...
  Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE
  Exporting '...future.x_ii' (112 bytes) to cluster node #1 ...
  Exporting '...future.x_ii' (112 bytes) to cluster node #1 ... DONE
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ...
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE
  Exporting 4 global objects (4.80 KiB) to cluster node #1 ... DONE
  MultisessionFuture started
  Chunk #1 of 2 ... DONE
  Chunk #2 of 2 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 17.62 KiB (18048 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'listenv'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    {
                      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.mc.cores.old <- getOption("mc.cores")
                    options(mc.cores = 1L)
                  }
                  local({
                    for (pkg in "listenv") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Exporting 4 global objects (17.62 KiB) to cluster node #2 ...
  Exporting '...future.FUN' (4.69 KiB) to cluster node #2 ...
  Exporting '...future.FUN' (4.69 KiB) to cluster node #2 ... DONE
  Exporting 'future.call.arguments' (0 bytes) to cluster node #2 ...
  Exporting 'future.call.arguments' (0 bytes) to cluster node #2 ... DONE
  Exporting '...future.x_ii' (12.94 KiB) to cluster node #2 ...
  Exporting '...future.x_ii' (12.94 KiB) to cluster node #2 ... DONE
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #2 ...
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #2 ... DONE
  Exporting 4 global objects (17.62 KiB) to cluster node #2 ... DONE
  MultisessionFuture started
  Chunk #2 of 2 ... DONE
  Launching 2 futures (chunks) ... DONE
  Resolving 2 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 2
  
   length: 1 (resolved future 1)
   length: 0 (resolved future 2)
  resolve() on list ... DONE
   - Number of value chunks collected: 2
  Resolving 2 futures (chunks) ... DONE
  Reducing values from 2 chunks ...
   - Number of values collected after folding: 2
   - Number of values expected: 2
  Reducing values from 2 chunks ... DONE
  future_lapply() ... DONE
  List of 1
   $ y:List of 2
    ..$ a: Named chr "A"
    .. ..- attr(*, "names")= chr "A"
    ..$ b: Named chr [1:2] "A" "B"
    .. ..- attr(*, "names")= chr [1:2] "A" "B"
  - plan('batchjobs_interactive') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  future_lapply() ...
  Finding globals ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  - globals found: [4] 'FUN', '{', 'get', 'parent.env'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 4.69 KiB (4800 bytes)
  - globals: [1] 'FUN'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
   - globals found: [1] 'FUN'
   - needed namespaces: [1] 'listenv'
  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 (x, ...)  
   $ ...          : list()
    ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
   - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
   - attr(*, "where")=List of 2
    ..$ ...future.FUN:<environment: 0x6b917b8> 
    ..$ ...          :<environment: 0x6b917b8> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 4800
  Packages to be attached in all futures:
   chr "listenv"
  Number of chunks: 2
  Number of futures (= number of chunks): 2
  Launching 2 futures (chunks) ...
  Chunk #1 of 2 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 4.80 KiB (4912 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_878308149-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_878308149-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_878308149-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 1022823830 
    Required packages: BatchJobs 
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'listenv'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    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)
                    }
                  }
                  local({
                    for (pkg in "listenv") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsInteractive()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Attaching 1 packages ('listenv') ...
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_878308149-files/registry.RData
  Attaching 1 packages ('listenv') ... DONE
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Interactive"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_878308149-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Interactive.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #1 of 2 ... DONE
  Chunk #2 of 2 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 17.62 KiB (18048 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1950036126-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1950036126-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1950036126-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 476135725 
    Required packages: BatchJobs 
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'listenv'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    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)
                    }
                  }
                  local({
                    for (pkg in "listenv") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsInteractive()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Attaching 1 packages ('listenv') ...
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1950036126-files/registry.RData
  Attaching 1 packages ('listenv') ... DONE
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Interactive"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1950036126-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Interactive.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #2 of 2 ... DONE
  Launching 2 futures (chunks) ... DONE
  Resolving 2 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 2
  
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 1 (resolved future 1)
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 0 (resolved future 2)
  resolve() on list ... DONE
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 1
   $ : Named chr "A"
    ..- attr(*, "names")= chr "A"
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_878308149-files'
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 1
   $ : Named chr [1:2] "A" "B"
    ..- attr(*, "names")= chr [1:2] "A" "B"
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1950036126-files'
   - Number of value chunks collected: 2
  Resolving 2 futures (chunks) ... DONE
  Reducing values from 2 chunks ...
   - Number of values collected after folding: 2
   - Number of values expected: 2
  Reducing values from 2 chunks ... DONE
  future_lapply() ... DONE
  List of 1
   $ y:List of 2
    ..$ a: Named chr "A"
    .. ..- attr(*, "names")= chr "A"
    ..$ b: Named chr [1:2] "A" "B"
    .. ..- attr(*, "names")= chr [1:2] "A" "B"
  - plan('batchjobs_local') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  future_lapply() ...
  Finding globals ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  - globals found: [4] 'FUN', '{', 'get', 'parent.env'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 4.69 KiB (4800 bytes)
  - globals: [1] 'FUN'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
   - globals found: [1] 'FUN'
   - needed namespaces: [1] 'listenv'
  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 (x, ...)  
   $ ...          : list()
    ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
   - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
   - attr(*, "where")=List of 2
    ..$ ...future.FUN:<environment: 0x55f5918> 
    ..$ ...          :<environment: 0x55f5918> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 4800
  Packages to be attached in all futures:
   chr "listenv"
  Number of chunks: 2
  Number of futures (= number of chunks): 2
  Launching 2 futures (chunks) ...
  Chunk #1 of 2 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 4.80 KiB (4912 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1854714682-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1854714682-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1854714682-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 862636645 
    Required packages: BatchJobs 
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'listenv'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    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)
                    }
                  }
                  local({
                    for (pkg in "listenv") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsLocal()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Attaching 1 packages ('listenv') ...
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1854714682-files/registry.RData
  Attaching 1 packages ('listenv') ... DONE
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Local"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1854714682-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Local.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #1 of 2 ... DONE
  Chunk #2 of 2 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 17.62 KiB (18048 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_255492448-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_255492448-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_255492448-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 860404820 
    Required packages: BatchJobs 
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'listenv'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    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)
                    }
                  }
                  local({
                    for (pkg in "listenv") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsLocal()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Attaching 1 packages ('listenv') ...
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_255492448-files/registry.RData
  Attaching 1 packages ('listenv') ... DONE
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Local"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_255492448-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Local.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #2 of 2 ... DONE
  Launching 2 futures (chunks) ... DONE
  Resolving 2 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 2
  
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 1 (resolved future 1)
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 0 (resolved future 2)
  resolve() on list ... DONE
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 1
   $ : Named chr "A"
    ..- attr(*, "names")= chr "A"
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1854714682-files'
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 1
   $ : Named chr [1:2] "A" "B"
    ..- attr(*, "names")= chr [1:2] "A" "B"
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_255492448-files'
   - Number of value chunks collected: 2
  Resolving 2 futures (chunks) ... DONE
  Reducing values from 2 chunks ...
   - Number of values collected after folding: 2
   - Number of values expected: 2
  Reducing values from 2 chunks ... DONE
  future_lapply() ... DONE
  List of 1
   $ y:List of 2
    ..$ a: Named chr "A"
    .. ..- attr(*, "names")= chr "A"
    ..$ b: Named chr [1:2] "A" "B"
    .. ..- attr(*, "names")= chr [1:2] "A" "B"
  - plan('sequential') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  future_lapply() ...
  Finding globals ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  - globals found: [4] 'FUN', '{', 'get', 'parent.env'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 4.69 KiB (4800 bytes)
  - globals: [1] 'FUN'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
   - globals found: [1] 'FUN'
   - needed namespaces: [1] 'listenv'
  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 (x, ...)  
   $ ...          : list()
    ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
   - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
   - attr(*, "where")=List of 2
    ..$ ...future.FUN:<environment: 0x26284b0> 
    ..$ ...          :<environment: 0x26284b0> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 4800
  Packages to be attached in all futures:
   chr "listenv"
  Number of chunks: 1
  Number of futures (= number of chunks): 1
  Launching 1 futures (chunks) ...
  Chunk #1 of 1 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 17.73 KiB (18160 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'listenv'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    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)
                    }
                  }
                  local({
                    for (pkg in "listenv") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              lapply(seq_along(...future.x_ii), FUN = function(jj) {
                  ...future.x_jj <- ...future.x_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, 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)
          }
      })
  }
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  Chunk #1 of 1 ... DONE
  Launching 1 futures (chunks) ... DONE
  Resolving 1 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 1
  
   length: 0 (resolved future 1)
  resolve() on list ... DONE
   - Number of value chunks collected: 1
  Resolving 1 futures (chunks) ... DONE
  Reducing values from 1 chunks ...
   - Number of values collected after folding: 2
   - Number of values expected: 2
  Reducing values from 1 chunks ... DONE
  future_lapply() ... DONE
  List of 1
   $ y:List of 2
    ..$ a: Named chr "A"
    .. ..- attr(*, "names")= chr "A"
    ..$ b: Named chr [1:2] "A" "B"
    .. ..- attr(*, "names")= chr [1:2] "A" "B"
  - 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'
  Warning in makeClusterPSOCK(workers, ...) :
    Non-numeric value of environment variable 'R_PARALLEL_PORT' coerced to NA_integer_: 'random'
  Base port: 11773
  Creating node 1 of 2 ...
  - setting up node
  Starting worker #1 on 'localhost': '/home/hornik/tmp/R.check/r-devel-clang/Work/build/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e 'parallel:::.slaveRSOCK()' MASTER=localhost PORT=11773 OUT=/dev/null TIMEOUT=2592000 XDR=TRUE
  Waiting for worker #1 on 'localhost' to connect back
  Connection with worker #1 on 'localhost' established
  - assigning connection UUID
  - collecting session information
  Creating node 1 of 2 ... done
  Creating node 2 of 2 ...
  - setting up node
  Starting worker #2 on 'localhost': '/home/hornik/tmp/R.check/r-devel-clang/Work/build/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e 'parallel:::.slaveRSOCK()' MASTER=localhost PORT=11773 OUT=/dev/null TIMEOUT=2592000 XDR=TRUE
  Waiting for worker #2 on 'localhost' to connect back
  Connection with worker #2 on 'localhost' established
  - assigning connection UUID
  - collecting session information
  Creating node 2 of 2 ... 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")
          {
              {
                  {
                    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.mc.cores.old <- getOption("mc.cores")
                  options(mc.cores = 1L)
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local(NA)
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  MultisessionFuture started
  plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE
  plan(): nbrOfWorkers() = 2
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  future_lapply() ...
  Finding globals ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  - globals found: [4] 'FUN', '{', 'get', 'parent.env'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 4.69 KiB (4800 bytes)
  - globals: [1] 'FUN'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
   - globals found: [1] 'FUN'
   - needed namespaces: [1] 'listenv'
  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 (x, ...)  
   $ ...          : list()
    ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
   - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
   - attr(*, "where")=List of 2
    ..$ ...future.FUN:<environment: 0x6811028> 
    ..$ ...          :<environment: 0x6811028> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 4800
  Packages to be attached in all futures:
   chr "listenv"
  Number of chunks: 2
  Number of futures (= number of chunks): 2
  Launching 2 futures (chunks) ...
  Chunk #1 of 2 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 4.80 KiB (4912 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'listenv'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    {
                      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.mc.cores.old <- getOption("mc.cores")
                    options(mc.cores = 1L)
                  }
                  local({
                    for (pkg in "listenv") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Exporting 4 global objects (4.80 KiB) to cluster node #1 ...
  Exporting '...future.FUN' (4.69 KiB) to cluster node #1 ...
  Exporting '...future.FUN' (4.69 KiB) to cluster node #1 ... DONE
  Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ...
  Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE
  Exporting '...future.x_ii' (112 bytes) to cluster node #1 ...
  Exporting '...future.x_ii' (112 bytes) to cluster node #1 ... DONE
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ...
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE
  Exporting 4 global objects (4.80 KiB) to cluster node #1 ... DONE
  MultisessionFuture started
  Chunk #1 of 2 ... DONE
  Chunk #2 of 2 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 17.62 KiB (18048 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'listenv'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    {
                      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.mc.cores.old <- getOption("mc.cores")
                    options(mc.cores = 1L)
                  }
                  local({
                    for (pkg in "listenv") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
          future::FutureResult(value = ...future.value, version = "1.8")
      }, error = function(cond) {
          calls <- sys.calls()
          structure(list(value = NULL, condition = cond, calls = calls, 
              version = "1.8"), class = "FutureResult")
      }, finally = {
          {
              {
                  {
                    options(mc.cores = ...future.mc.cores.old)
                  }
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, lazy = FALSE, seed = NULL, 
                    globals = TRUE, persistent = FALSE, workers = availableCores(), 
                    gc = FALSE, earlySignal = FALSE, label = NULL, 
                    ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    if (is.function(workers)) 
                      workers <- workers()
                    workers <- as.integer(workers)
                    stop_if_not(length(workers) == 1, is.finite(workers), 
                      workers >= 1)
                    if (workers == 1L) {
                      return(sequential(expr, envir = envir, substitute = FALSE, 
                        lazy = TRUE, seed = seed, globals = globals, 
                        local = TRUE, label = label))
                    }
                    workers <- ClusterRegistry("start", workers = workers)
                    future <- MultisessionFuture(expr = expr, envir = envir, 
                      substitute = FALSE, lazy = lazy, seed = seed, 
                      globals = globals, persistent = persistent, 
                      workers = workers, gc = gc, earlySignal = earlySignal, 
                      label = label, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    invisible(future)
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Exporting 4 global objects (17.62 KiB) to cluster node #2 ...
  Exporting '...future.FUN' (4.69 KiB) to cluster node #2 ...
  Exporting '...future.FUN' (4.69 KiB) to cluster node #2 ... DONE
  Exporting 'future.call.arguments' (0 bytes) to cluster node #2 ...
  Exporting 'future.call.arguments' (0 bytes) to cluster node #2 ... DONE
  Exporting '...future.x_ii' (12.94 KiB) to cluster node #2 ...
  Exporting '...future.x_ii' (12.94 KiB) to cluster node #2 ... DONE
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #2 ...
  Exporting '...future.seeds_ii' (0 bytes) to cluster node #2 ... DONE
  Exporting 4 global objects (17.62 KiB) to cluster node #2 ... DONE
  MultisessionFuture started
  Chunk #2 of 2 ... DONE
  Launching 2 futures (chunks) ... DONE
  Resolving 2 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 2
  
   length: 1 (resolved future 1)
   length: 0 (resolved future 2)
  resolve() on list ... DONE
   - Number of value chunks collected: 2
  Resolving 2 futures (chunks) ... DONE
  Reducing values from 2 chunks ...
   - Number of values collected after folding: 2
   - Number of values expected: 2
  Reducing values from 2 chunks ... DONE
  future_lapply() ... DONE
  List of 1
   $ y:List of 2
    ..$ a: Named chr "A"
    .. ..- attr(*, "names")= chr "A"
    ..$ b: Named chr [1:2] "A" "B"
    .. ..- attr(*, "names")= chr [1:2] "A" "B"
  - plan('batchjobs_interactive') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  future_lapply() ...
  Finding globals ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  - globals found: [4] 'FUN', '{', 'get', 'parent.env'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 4.69 KiB (4800 bytes)
  - globals: [1] 'FUN'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
   - globals found: [1] 'FUN'
   - needed namespaces: [1] 'listenv'
  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 (x, ...)  
   $ ...          : list()
    ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
   - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
   - attr(*, "where")=List of 2
    ..$ ...future.FUN:<environment: 0x41d0608> 
    ..$ ...          :<environment: 0x41d0608> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 4800
  Packages to be attached in all futures:
   chr "listenv"
  Number of chunks: 1
  Number of futures (= number of chunks): 1
  Launching 1 futures (chunks) ...
  Chunk #1 of 1 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 17.73 KiB (18160 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1826182377-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1826182377-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1826182377-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 680356103 
    Required packages: BatchJobs 
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'listenv'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    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)
                    }
                  }
                  local({
                    for (pkg in "listenv") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsInteractive()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Attaching 1 packages ('listenv') ...
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1826182377-files/registry.RData
  Attaching 1 packages ('listenv') ... DONE
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Interactive"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1826182377-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Interactive.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #1 of 1 ... DONE
  Launching 1 futures (chunks) ... DONE
  Resolving 1 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 1
  
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 0 (resolved future 1)
  resolve() on list ... DONE
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 2
   $ : Named chr "A"
    ..- attr(*, "names")= chr "A"
   $ : Named chr [1:2] "A" "B"
    ..- attr(*, "names")= chr [1:2] "A" "B"
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1826182377-files'
   - Number of value chunks collected: 1
  Resolving 1 futures (chunks) ... DONE
  Reducing values from 1 chunks ...
   - Number of values collected after folding: 2
   - Number of values expected: 2
  Reducing values from 1 chunks ... DONE
  future_lapply() ... DONE
  List of 1
   $ y:List of 2
    ..$ a: Named chr "A"
    .. ..- attr(*, "names")= chr "A"
    ..$ b: Named chr [1:2] "A" "B"
    .. ..- attr(*, "names")= chr [1:2] "A" "B"
  - plan('batchjobs_local') ...
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  future_lapply() ...
  Finding globals ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  - globals found: [4] 'FUN', '{', 'get', 'parent.env'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 4.69 KiB (4800 bytes)
  - globals: [1] 'FUN'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
   - globals found: [1] 'FUN'
   - needed namespaces: [1] 'listenv'
  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 (x, ...)  
   $ ...          : list()
    ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
   - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
   - attr(*, "where")=List of 2
    ..$ ...future.FUN:<environment: 0x2920a10> 
    ..$ ...          :<environment: 0x2920a10> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 4800
  Packages to be attached in all futures:
   chr "listenv"
  Number of chunks: 1
  Number of futures (= number of chunks): 1
  Launching 1 futures (chunks) ...
  Chunk #1 of 1 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 17.73 KiB (18160 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  - packages: [1] 'listenv'
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1245747293-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1245747293-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1245747293-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 189262455 
    Required packages: BatchJobs 
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'listenv'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    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)
                    }
                  }
                  local({
                    for (pkg in "listenv") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsLocal()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  Attaching 1 packages ('listenv') ...
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1245747293-files/registry.RData
  Attaching 1 packages ('listenv') ... DONE
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Local"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1245747293-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Local.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #1 of 1 ... DONE
  Launching 1 futures (chunks) ... DONE
  Resolving 1 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 1
  
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 0 (resolved future 1)
  resolve() on list ... DONE
  Polling...
  Poll #1 (0): status = done, started, submitted, t_avg, t_max, t_min
  Results:
  List of 2
   $ : Named chr "A"
    ..- attr(*, "names")= chr "A"
   $ : Named chr [1:2] "A" "B"
    ..- attr(*, "names")= chr [1:2] "A" "B"
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_1245747293-files'
   - Number of value chunks collected: 1
  Resolving 1 futures (chunks) ... DONE
  Reducing values from 1 chunks ...
   - Number of values collected after folding: 2
   - Number of values expected: 2
  Reducing values from 1 chunks ... DONE
  future_lapply() ... DONE
  List of 1
   $ y:List of 2
    ..$ a: Named chr "A"
    .. ..- attr(*, "names")= chr "A"
    ..$ b: Named chr [1:2] "A" "B"
    .. ..- attr(*, "names")= chr [1:2] "A" "B"
  > 
  > 
  > message("- future_lapply(x, FUN, ...) for large length(x) ...")
  - future_lapply(x, FUN, ...) for large length(x) ...
  > a <- 3.14
  > x <- 1:1e6
  > 
  > y <- future_lapply(x, FUN = function(z) sqrt(z + a))
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  future_lapply() ...
  Finding globals ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  - globals found: [4] 'FUN', 'sqrt', '+', 'a'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 2 globals is 784 bytes (784 bytes)
  - globals: [2] 'FUN', 'a'
  
  getGlobalsAndPackages() ... DONE
   - globals found: [2] 'FUN', 'a'
  
  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 3
   $ ...future.FUN:function (z)  
   $ a            : num 3.14
   $ ...          : list()
    ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
   - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
   - attr(*, "where")=List of 3
    ..$ ...future.FUN:<environment: 0x5649fc0> 
    ..$ a            :<environment: R_GlobalEnv> 
    ..$ ...          :<environment: 0x5649fc0> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 784
  Packages to be attached in all futures:
   chr(0) 
  Number of chunks: 1
  Number of futures (= number of chunks): 1
  Launching 1 futures (chunks) ...
  Chunk #1 of 1 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [5] '...future.FUN', 'a', '...', '...future.x_ii', '...future.seeds_ii'
  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 3.82 MiB (4000832 bytes)
  - globals: [5] '...future.FUN', 'a', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Creating dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_538135660-files
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Saving registry: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_538135660-files/registry.RData
  Job registry:  BatchJobs 
    Number of jobs:  0 
    Files dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_538135660-files 
    Work dir: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests 
    Multiple result files: FALSE 
    Seed: 300715986 
    Required packages: BatchJobs 
  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")
          {
              {
                  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)
          }
      }
      tryCatch({
          local({
              do.call(function(...) {
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    ...future.FUN(...future.x_jj, ...)
                  })
              }, args = future.call.arguments)
          })
      }, finally = {
          {
              {
                  NULL
                  future::plan(list(function (expr, envir = parent.frame(), 
                    substitute = TRUE, globals = TRUE, label = "BatchJobs", 
                    workers = 1L, job.delay = FALSE, ...) 
                  {
                    if (substitute) 
                      expr <- substitute(expr)
                    cf <- makeClusterFunctionsLocal()
                    future <- BatchJobsFuture(expr = expr, envir = envir, 
                      substitute = FALSE, globals = globals, label = label, 
                      cluster.functions = cf, workers = workers, 
                      job.delay = job.delay, ...)
                    if (!future$lazy) 
                      future <- run(future)
                    future
                  }), .cleanup = FALSE, .init = FALSE)
              }
              options(...future.oldOptions)
          }
      })
  }
  WORKAROUND: BatchJobs does not support exported variables that start with a period (see https://github.com/tudo-r/BatchJobs/issues/103). Encoding/decoding the following global variables: '...future.FUN', '...future.x_ii', '...future.seeds_ii'
  Adding 1 jobs to DB.
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Created BatchJobsFuture future #1
  Setting BatchJobs configuration:
  List of 1
   $ cluster.functions:List of 5
    ..$ name             : chr "Local"
    ..$ submitJob        :function (conf, reg, job.name, rscript, log.file, job.dir, resources, arrayjobs)  
    ..$ killJob          :function (conf, reg, batch.job.id)  
    ..$ listJobs         :function (conf, reg)  
    ..$ getArrayEnvirName:function ()  
    ..- attr(*, "class")= chr "ClusterFunctions"
  Saving conf: /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_538135660-files/conf.RData
  Submitting 1 chunks / 1 jobs.
  Cluster functions: Local.
  Auto-mailer settings: start=none, done=none, error=none.
  
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+                                                |   0% (00:00:00)
  SubmitJobs |+++++++++++++++++++++++++++++++++++++++++++++++++| 100% (00:00:00)
  Sending 1 submit messages...
  Might take some time, do not interrupt this!
  Launched future #1
  Chunk #1 of 1 ... DONE
  Launching 1 futures (chunks) ... DONE
  Resolving 1 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 1
  
  Syncing registry ...
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
  Warning in result_fetch(res@ptr, n = n) :
    Don't need to call dbFetch() for statements, only for queries
   length: 0 (resolved future 1)
  resolve() on list ... DONE
  Polling...
  Poll #1 (0): status = done, started, submitted
  Results:
  List of 1000000
   $ : num 2.03
   $ : num 2.27
   $ : num 2.48
   $ : num 2.67
   $ : num 2.85
   $ : num 3.02
   $ : num 3.18
   $ : num 3.34
   $ : num 3.48
   $ : num 3.62
   $ : num 3.76
   $ : num 3.89
   $ : num 4.02
   $ : num 4.14
   $ : num 4.26
   $ : num 4.37
   $ : num 4.49
   $ : num 4.6
   $ : num 4.71
   $ : num 4.81
   $ : num 4.91
   $ : num 5.01
   $ : num 5.11
   $ : num 5.21
   $ : num 5.3
   $ : num 5.4
   $ : num 5.49
   $ : num 5.58
   $ : num 5.67
   $ : num 5.76
   $ : num 5.84
   $ : num 5.93
   $ : num 6.01
   $ : num 6.09
   $ : num 6.18
   $ : num 6.26
   $ : num 6.34
   $ : num 6.41
   $ : num 6.49
   $ : num 6.57
   $ : num 6.64
   $ : num 6.72
   $ : num 6.79
   $ : num 6.87
   $ : num 6.94
   $ : num 7.01
   $ : num 7.08
   $ : num 7.15
   $ : num 7.22
   $ : num 7.29
   $ : num 7.36
   $ : num 7.43
   $ : num 7.49
   $ : num 7.56
   $ : num 7.62
   $ : num 7.69
   $ : num 7.75
   $ : num 7.82
   $ : num 7.88
   $ : num 7.95
   $ : num 8.01
   $ : num 8.07
   $ : num 8.13
   $ : num 8.19
   $ : num 8.25
   $ : num 8.32
   $ : num 8.37
   $ : num 8.43
   $ : num 8.49
   $ : num 8.55
   $ : num 8.61
   $ : num 8.67
   $ : num 8.73
   $ : num 8.78
   $ : num 8.84
   $ : num 8.9
   $ : num 8.95
   $ : num 9.01
   $ : num 9.06
   $ : num 9.12
   $ : num 9.17
   $ : num 9.23
   $ : num 9.28
   $ : num 9.33
   $ : num 9.39
   $ : num 9.44
   $ : num 9.49
   $ : num 9.55
   $ : num 9.6
   $ : num 9.65
   $ : num 9.7
   $ : num 9.75
   $ : num 9.81
   $ : num 9.86
   $ : num 9.91
   $ : num 9.96
   $ : num 10
   $ : num 10.1
   $ : num 10.1
    [list output truncated]
  delete(): Option 'future.delete='<NULL>'
  delete(): BatchJobs registry deleted: '/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/future.BatchJobs.Rcheck/tests/.future/20180622_083324-RxOocA/BatchJobs_538135660-files'
   - Number of value chunks collected: 1
  Resolving 1 futures (chunks) ... DONE
  Reducing values from 1 chunks ...
   - Number of values collected after folding: 1000000
   - Number of values expected: 1000000
  Reducing values from 1 chunks ... DONE
  future_lapply() ... DONE
  > y <- unlist(y, use.names = FALSE)
  > 
  > stopifnot(all.equal(y, sqrt(x + a)))
  > 
  > 
  > message("- future_lapply() with global in non-attached package ...")
  - future_lapply() with global in non-attached package ...
  > library("tools")
  > my_ext <- function(x) file_ext(x)
  > y_truth <- lapply("abc.txt", FUN = my_ext)
  > 
  > for (strategy in strategies) {
  +   plan(strategy)
  +   y <- future_lapply("abc.txt", FUN = my_ext)
  +   stopifnot(identical(y, y_truth))
  + }
  plan(): nbrOfWorkers() = 1
  Warning: The implementation of future_lapply() in the 'future' package has been deprecated. Please use the one in the 'future.apply' package instead.
  future_lapply() ...
  Finding globals ...
  getGlobalsAndPackages() ...
  Searching for globals ...
  - globals found: [2] 'FUN', 'file_ext'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 448 bytes (448 bytes)
  - globals: [1] 'FUN'
  - packages: [1] 'tools'
  getGlobalsAndPackages() ... DONE
   - globals found: [1] 'FUN'
   - needed namespaces: [1] 'tools'
  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 (x)  
   $ ...          : list()
    ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
   - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
   - attr(*, "where")=List of 2
    ..$ ...future.FUN:<environment: 0x9a6a480> 
    ..$ ...          :<environment: 0x9a6a480> 
   - attr(*, "resolved")= logi FALSE
   - attr(*, "total_size")= num 448
  Packages to be attached in all futures:
   chr "tools"
  Number of chunks: 1
  Number of futures (= number of chunks): 1
  Launching 1 futures (chunks) ...
  Chunk #1 of 1 ...
   - seeds: <none>
  getGlobalsAndPackages() ...
  - globals passed as-is: [4] '...future.FUN', '...', '...future.x_ii', '...future.seeds_ii'
  Resolving globals: FALSE
  Tweak future expression to call with '...' arguments ...
  Tweak future expression to call with '...' arguments ... DONE
  The total size of the 4 globals is 560 bytes (560 bytes)
  - globals: [4] '...future.FUN', 'future.call.arguments', '...future.x_ii', '...future.seeds_ii'
  
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 0): <none>
  Packages needed by the future expression (n = 1): 'tools'
  {
      {
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore")
          {
              {
                  {
                    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)
                    }
                  }
                  local({
                    for (pkg in "tools") {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan("default", .cleanup = FALSE, .init = FALSE)
          }
      }
      tryCatch({
          ...future.value <- local({
              lapply(seq_along(...future.x_ii), FUN = function(jj) {
                  ...future.x_jj <- ...future.x_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, 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)
          }
      })
  }
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  Chunk #1 of 1 ... DONE
  Launching 1 futures (chunks) ... DONE
  Resolving 1 futures (chunks) ...
  resolve() on list ...
   recursive: 0
   length: 1
  
   length: 0 (resolved future 1)
  resolve() on list ... DONE
   - Number of value chunks collected: 1
  Resolving 1 futures (chunks) ... DONE
  Reducing values from 1 chunks ...
   - Number of values collected after folding: 1
   - Number of values expected: 1
  Reducing values from 1 chunks ... DONE
  future_lapply() ... DONE
  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'
  Warning in makeClusterPSOCK(workers, ...) :
    Non-numeric value of environment variable 'R_PARALLEL_PORT' coerced to NA_integer_: 'random'
  Base port: 11563
  Creating node 1 of 2 ...
  - setting up node
  Starting worker #1 on 'localhost': '/home/hornik/tmp/R.check/r-devel-clang/Work/build/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e 'parallel:::.slaveRSOCK()' MASTER=localhost PORT=11563 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 11563 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