R Under development (unstable) (2024-07-28 r86931 ucrt) -- "Unsuffered Consequences" Copyright (C) 2024 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > source("incl/start.R") [17:27:00.266] plan(): Setting new future strategy stack: [17:27:00.268] List of future strategies: [17:27:00.268] 1. sequential: [17:27:00.268] - args: function (..., envir = parent.frame(), workers = "") [17:27:00.268] - tweaked: FALSE [17:27:00.268] - call: future::plan("sequential") [17:27:00.296] plan(): nbrOfWorkers() = 1 > > message("*** Demos ...") *** Demos ... > > message("*** Fibonacci demo of the 'future' package ...") *** Fibonacci demo of the 'future' package ... > demo("fibonacci", package = "future", ask = FALSE) demo(fibonacci) ---- ~~~~~~~~~ > library("future") > library("listenv") > ## IMPORTANT: > ## 1. The below usage of lazy futures will only work when they are > ## all evaluated in the same process. > ## 2. We disable the capturing of standard output (stdout=NA) to avoid > ## 'sink stack is full' errors > ## 3. We disable the capturing of most conditions (condition="error") to > ## avoid stacking up too many conditions > oplan <- plan(sequential) [17:27:00.321] plan(): Setting new future strategy stack: [17:27:00.321] List of future strategies: [17:27:00.321] 1. sequential: [17:27:00.321] - args: function (..., envir = parent.frame(), workers = "") [17:27:00.321] - tweaked: FALSE [17:27:00.321] - call: plan(sequential) [17:27:00.347] plan(): nbrOfWorkers() = 1 > ## Defines the first 100 Fibonacci numbers > ## (0, 1, 1, 2, 3, 5, 8, ...) > ## but calculate only the ones need when > ## a number is actually requested. > > x <- listenv() > x[[1]] <- 0 > x[[2]] <- 1 > for (i in 3:100) { + x[[i]] %<-% { x[[i - 2]] + x[[i - 1]] } %lazy% TRUE %stdout% NA %conditions% "error" + } [17:27:00.362] getGlobalsAndPackages() ... [17:27:00.363] Searching for globals... [17:27:00.377] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.378] Searching for globals ... DONE [17:27:00.378] Resolving globals: FALSE [17:27:00.380] The total size of the 2 globals is 721 bytes (721 bytes) [17:27:00.381] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 721 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (686 bytes of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.382] - globals: [2] 'x', 'i' [17:27:00.382] [17:27:00.382] getGlobalsAndPackages() ... DONE [17:27:00.384] getGlobalsAndPackages() ... [17:27:00.384] Searching for globals... [17:27:00.388] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.388] Searching for globals ... DONE [17:27:00.389] Resolving globals: FALSE [17:27:00.390] The total size of the 2 globals is 33.32 KiB (34118 bytes) [17:27:00.397] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 33.32 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (33.28 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.397] - globals: [2] 'x', 'i' [17:27:00.398] [17:27:00.398] getGlobalsAndPackages() ... DONE [17:27:00.399] getGlobalsAndPackages() ... [17:27:00.400] Searching for globals... [17:27:00.403] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.403] Searching for globals ... DONE [17:27:00.404] Resolving globals: FALSE [17:27:00.405] The total size of the 2 globals is 52.29 KiB (53550 bytes) [17:27:00.406] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 52.29 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (52.26 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.406] - globals: [2] 'x', 'i' [17:27:00.407] [17:27:00.407] getGlobalsAndPackages() ... DONE [17:27:00.408] getGlobalsAndPackages() ... [17:27:00.409] Searching for globals... [17:27:00.412] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.413] Searching for globals ... DONE [17:27:00.413] Resolving globals: FALSE [17:27:00.415] The total size of the 2 globals is 71.27 KiB (72982 bytes) [17:27:00.416] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 71.27 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (71.24 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.416] - globals: [2] 'x', 'i' [17:27:00.416] [17:27:00.416] getGlobalsAndPackages() ... DONE [17:27:00.418] getGlobalsAndPackages() ... [17:27:00.418] Searching for globals... [17:27:00.423] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.423] Searching for globals ... DONE [17:27:00.424] Resolving globals: FALSE [17:27:00.426] The total size of the 2 globals is 90.25 KiB (92414 bytes) [17:27:00.427] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 90.25 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (90.21 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.427] - globals: [2] 'x', 'i' [17:27:00.428] [17:27:00.428] getGlobalsAndPackages() ... DONE [17:27:00.429] getGlobalsAndPackages() ... [17:27:00.430] Searching for globals... [17:27:00.433] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.434] Searching for globals ... DONE [17:27:00.434] Resolving globals: FALSE [17:27:00.436] The total size of the 2 globals is 109.22 KiB (111846 bytes) [17:27:00.437] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 109.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (109.19 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.437] - globals: [2] 'x', 'i' [17:27:00.437] [17:27:00.437] getGlobalsAndPackages() ... DONE [17:27:00.439] getGlobalsAndPackages() ... [17:27:00.439] Searching for globals... [17:27:00.442] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.443] Searching for globals ... DONE [17:27:00.443] Resolving globals: FALSE [17:27:00.445] The total size of the 2 globals is 128.20 KiB (131278 bytes) [17:27:00.450] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 128.20 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (128.17 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.450] - globals: [2] 'x', 'i' [17:27:00.450] [17:27:00.450] getGlobalsAndPackages() ... DONE [17:27:00.452] getGlobalsAndPackages() ... [17:27:00.452] Searching for globals... [17:27:00.455] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.456] Searching for globals ... DONE [17:27:00.456] Resolving globals: FALSE [17:27:00.458] The total size of the 2 globals is 147.18 KiB (150712 bytes) [17:27:00.459] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 147.18 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (147.15 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.460] - globals: [2] 'x', 'i' [17:27:00.460] [17:27:00.460] getGlobalsAndPackages() ... DONE [17:27:00.462] getGlobalsAndPackages() ... [17:27:00.462] Searching for globals... [17:27:00.466] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.466] Searching for globals ... DONE [17:27:00.466] Resolving globals: FALSE [17:27:00.468] The total size of the 2 globals is 166.16 KiB (170149 bytes) [17:27:00.469] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 166.16 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (166.13 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.469] - globals: [2] 'x', 'i' [17:27:00.470] [17:27:00.470] getGlobalsAndPackages() ... DONE [17:27:00.471] getGlobalsAndPackages() ... [17:27:00.472] Searching for globals... [17:27:00.475] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.475] Searching for globals ... DONE [17:27:00.476] Resolving globals: FALSE [17:27:00.478] The total size of the 2 globals is 185.14 KiB (189586 bytes) [17:27:00.478] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 185.14 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (185.11 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.479] - globals: [2] 'x', 'i' [17:27:00.479] [17:27:00.479] getGlobalsAndPackages() ... DONE [17:27:00.480] getGlobalsAndPackages() ... [17:27:00.480] Searching for globals... [17:27:00.483] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.483] Searching for globals ... DONE [17:27:00.483] Resolving globals: FALSE [17:27:00.486] The total size of the 2 globals is 204.12 KiB (209023 bytes) [17:27:00.487] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 204.12 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (204.09 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.487] - globals: [2] 'x', 'i' [17:27:00.487] [17:27:00.487] getGlobalsAndPackages() ... DONE [17:27:00.489] getGlobalsAndPackages() ... [17:27:00.489] Searching for globals... [17:27:00.496] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.497] Searching for globals ... DONE [17:27:00.497] Resolving globals: FALSE [17:27:00.500] The total size of the 2 globals is 223.13 KiB (228484 bytes) [17:27:00.501] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 223.13 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (223.09 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.501] - globals: [2] 'x', 'i' [17:27:00.501] [17:27:00.502] getGlobalsAndPackages() ... DONE [17:27:00.503] getGlobalsAndPackages() ... [17:27:00.503] Searching for globals... [17:27:00.507] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.507] Searching for globals ... DONE [17:27:00.507] Resolving globals: FALSE [17:27:00.510] The total size of the 2 globals is 242.11 KiB (247921 bytes) [17:27:00.511] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 242.11 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (242.08 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.512] - globals: [2] 'x', 'i' [17:27:00.512] [17:27:00.512] getGlobalsAndPackages() ... DONE [17:27:00.513] getGlobalsAndPackages() ... [17:27:00.514] Searching for globals... [17:27:00.517] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.517] Searching for globals ... DONE [17:27:00.517] Resolving globals: FALSE [17:27:00.520] The total size of the 2 globals is 261.09 KiB (267358 bytes) [17:27:00.521] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 261.09 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (261.06 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.522] - globals: [2] 'x', 'i' [17:27:00.522] [17:27:00.522] getGlobalsAndPackages() ... DONE [17:27:00.523] getGlobalsAndPackages() ... [17:27:00.524] Searching for globals... [17:27:00.527] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.527] Searching for globals ... DONE [17:27:00.528] Resolving globals: FALSE [17:27:00.531] The total size of the 2 globals is 280.07 KiB (286795 bytes) [17:27:00.532] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 280.07 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (280.04 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.532] - globals: [2] 'x', 'i' [17:27:00.532] [17:27:00.533] getGlobalsAndPackages() ... DONE [17:27:00.534] getGlobalsAndPackages() ... [17:27:00.534] Searching for globals... [17:27:00.538] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.538] Searching for globals ... DONE [17:27:00.538] Resolving globals: FALSE [17:27:00.542] The total size of the 2 globals is 299.05 KiB (306232 bytes) [17:27:00.543] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 299.05 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (299.02 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.543] - globals: [2] 'x', 'i' [17:27:00.544] [17:27:00.544] getGlobalsAndPackages() ... DONE [17:27:00.549] getGlobalsAndPackages() ... [17:27:00.550] Searching for globals... [17:27:00.554] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.554] Searching for globals ... DONE [17:27:00.555] Resolving globals: FALSE [17:27:00.558] The total size of the 2 globals is 318.04 KiB (325669 bytes) [17:27:00.559] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 318.04 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (318.00 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.560] - globals: [2] 'x', 'i' [17:27:00.560] [17:27:00.560] getGlobalsAndPackages() ... DONE [17:27:00.561] getGlobalsAndPackages() ... [17:27:00.562] Searching for globals... [17:27:00.566] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.566] Searching for globals ... DONE [17:27:00.566] Resolving globals: FALSE [17:27:00.570] The total size of the 2 globals is 337.05 KiB (345138 bytes) [17:27:00.571] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 337.05 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (337.01 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.571] - globals: [2] 'x', 'i' [17:27:00.572] [17:27:00.572] getGlobalsAndPackages() ... DONE [17:27:00.573] getGlobalsAndPackages() ... [17:27:00.574] Searching for globals... [17:27:00.578] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.578] Searching for globals ... DONE [17:27:00.579] Resolving globals: FALSE [17:27:00.582] The total size of the 2 globals is 356.03 KiB (364575 bytes) [17:27:00.583] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 356.03 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (356.00 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.583] - globals: [2] 'x', 'i' [17:27:00.583] [17:27:00.584] getGlobalsAndPackages() ... DONE [17:27:00.585] getGlobalsAndPackages() ... [17:27:00.585] Searching for globals... [17:27:00.588] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.588] Searching for globals ... DONE [17:27:00.588] Resolving globals: FALSE [17:27:00.591] The total size of the 2 globals is 375.01 KiB (384012 bytes) [17:27:00.591] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 375.01 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (374.98 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.591] - globals: [2] 'x', 'i' [17:27:00.592] [17:27:00.592] getGlobalsAndPackages() ... DONE [17:27:00.592] getGlobalsAndPackages() ... [17:27:00.593] Searching for globals... [17:27:00.599] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.599] Searching for globals ... DONE [17:27:00.600] Resolving globals: FALSE [17:27:00.603] The total size of the 2 globals is 393.99 KiB (403449 bytes) [17:27:00.604] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 393.99 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (393.96 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.604] - globals: [2] 'x', 'i' [17:27:00.604] [17:27:00.605] getGlobalsAndPackages() ... DONE [17:27:00.606] getGlobalsAndPackages() ... [17:27:00.606] Searching for globals... [17:27:00.610] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.610] Searching for globals ... DONE [17:27:00.611] Resolving globals: FALSE [17:27:00.614] The total size of the 2 globals is 412.97 KiB (422886 bytes) [17:27:00.615] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 412.97 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (412.94 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.616] - globals: [2] 'x', 'i' [17:27:00.616] [17:27:00.616] getGlobalsAndPackages() ... DONE [17:27:00.617] getGlobalsAndPackages() ... [17:27:00.618] Searching for globals... [17:27:00.621] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.622] Searching for globals ... DONE [17:27:00.622] Resolving globals: FALSE [17:27:00.626] The total size of the 2 globals is 431.99 KiB (442359 bytes) [17:27:00.627] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 431.99 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (431.96 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.628] - globals: [2] 'x', 'i' [17:27:00.628] [17:27:00.628] getGlobalsAndPackages() ... DONE [17:27:00.629] getGlobalsAndPackages() ... [17:27:00.630] Searching for globals... [17:27:00.633] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.634] Searching for globals ... DONE [17:27:00.634] Resolving globals: FALSE [17:27:00.639] The total size of the 2 globals is 450.97 KiB (461796 bytes) [17:27:00.640] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 450.97 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (450.94 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.641] - globals: [2] 'x', 'i' [17:27:00.641] [17:27:00.641] getGlobalsAndPackages() ... DONE [17:27:00.643] getGlobalsAndPackages() ... [17:27:00.643] Searching for globals... [17:27:00.652] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.652] Searching for globals ... DONE [17:27:00.653] Resolving globals: FALSE [17:27:00.658] The total size of the 2 globals is 469.95 KiB (481233 bytes) [17:27:00.659] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 469.95 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (469.92 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.660] - globals: [2] 'x', 'i' [17:27:00.660] [17:27:00.660] getGlobalsAndPackages() ... DONE [17:27:00.662] getGlobalsAndPackages() ... [17:27:00.662] Searching for globals... [17:27:00.666] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.667] Searching for globals ... DONE [17:27:00.667] Resolving globals: FALSE [17:27:00.672] The total size of the 2 globals is 488.94 KiB (500670 bytes) [17:27:00.673] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 488.94 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (488.90 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.673] - globals: [2] 'x', 'i' [17:27:00.673] [17:27:00.674] getGlobalsAndPackages() ... DONE [17:27:00.675] getGlobalsAndPackages() ... [17:27:00.675] Searching for globals... [17:27:00.679] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.679] Searching for globals ... DONE [17:27:00.679] Resolving globals: FALSE [17:27:00.685] The total size of the 2 globals is 507.92 KiB (520107 bytes) [17:27:00.686] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 507.92 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (507.88 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.686] - globals: [2] 'x', 'i' [17:27:00.686] [17:27:00.687] getGlobalsAndPackages() ... DONE [17:27:00.688] getGlobalsAndPackages() ... [17:27:00.688] Searching for globals... [17:27:00.693] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.694] Searching for globals ... DONE [17:27:00.694] Resolving globals: FALSE [17:27:00.702] The total size of the 2 globals is 526.90 KiB (539544 bytes) [17:27:00.703] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 526.90 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (526.86 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.704] - globals: [2] 'x', 'i' [17:27:00.704] [17:27:00.704] getGlobalsAndPackages() ... DONE [17:27:00.706] getGlobalsAndPackages() ... [17:27:00.706] Searching for globals... [17:27:00.714] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.715] Searching for globals ... DONE [17:27:00.715] Resolving globals: FALSE [17:27:00.721] The total size of the 2 globals is 545.88 KiB (558981 bytes) [17:27:00.722] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 545.88 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (545.85 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.722] - globals: [2] 'x', 'i' [17:27:00.722] [17:27:00.723] getGlobalsAndPackages() ... DONE [17:27:00.724] getGlobalsAndPackages() ... [17:27:00.724] Searching for globals... [17:27:00.728] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.729] Searching for globals ... DONE [17:27:00.729] Resolving globals: FALSE [17:27:00.735] The total size of the 2 globals is 564.86 KiB (578418 bytes) [17:27:00.736] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 564.86 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (564.83 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.736] - globals: [2] 'x', 'i' [17:27:00.736] [17:27:00.737] getGlobalsAndPackages() ... DONE [17:27:00.738] getGlobalsAndPackages() ... [17:27:00.738] Searching for globals... [17:27:00.742] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.743] Searching for globals ... DONE [17:27:00.743] Resolving globals: FALSE [17:27:00.749] The total size of the 2 globals is 583.84 KiB (597855 bytes) [17:27:00.751] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 583.84 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (583.81 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.751] - globals: [2] 'x', 'i' [17:27:00.751] [17:27:00.752] getGlobalsAndPackages() ... DONE [17:27:00.753] getGlobalsAndPackages() ... [17:27:00.753] Searching for globals... [17:27:00.757] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.758] Searching for globals ... DONE [17:27:00.758] Resolving globals: FALSE [17:27:00.769] The total size of the 2 globals is 602.82 KiB (617292 bytes) [17:27:00.770] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 602.82 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (602.79 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.771] - globals: [2] 'x', 'i' [17:27:00.771] [17:27:00.772] getGlobalsAndPackages() ... DONE [17:27:00.773] getGlobalsAndPackages() ... [17:27:00.773] Searching for globals... [17:27:00.778] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.778] Searching for globals ... DONE [17:27:00.778] Resolving globals: FALSE [17:27:00.785] The total size of the 2 globals is 621.81 KiB (636729 bytes) [17:27:00.786] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 621.81 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (621.77 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.786] - globals: [2] 'x', 'i' [17:27:00.787] [17:27:00.787] getGlobalsAndPackages() ... DONE [17:27:00.789] getGlobalsAndPackages() ... [17:27:00.789] Searching for globals... [17:27:00.793] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.793] Searching for globals ... DONE [17:27:00.793] Resolving globals: FALSE [17:27:00.800] The total size of the 2 globals is 640.79 KiB (656166 bytes) [17:27:00.802] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 640.79 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (640.75 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.803] - globals: [2] 'x', 'i' [17:27:00.803] [17:27:00.803] getGlobalsAndPackages() ... DONE [17:27:00.805] getGlobalsAndPackages() ... [17:27:00.805] Searching for globals... [17:27:00.808] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.808] Searching for globals ... DONE [17:27:00.809] Resolving globals: FALSE [17:27:00.816] The total size of the 2 globals is 659.77 KiB (675603 bytes) [17:27:00.817] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 659.77 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (659.73 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.817] - globals: [2] 'x', 'i' [17:27:00.818] [17:27:00.818] getGlobalsAndPackages() ... DONE [17:27:00.820] getGlobalsAndPackages() ... [17:27:00.820] Searching for globals... [17:27:00.830] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.830] Searching for globals ... DONE [17:27:00.831] Resolving globals: FALSE [17:27:00.837] The total size of the 2 globals is 678.75 KiB (695040 bytes) [17:27:00.838] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 678.75 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (678.72 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.839] - globals: [2] 'x', 'i' [17:27:00.839] [17:27:00.839] getGlobalsAndPackages() ... DONE [17:27:00.841] getGlobalsAndPackages() ... [17:27:00.841] Searching for globals... [17:27:00.845] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.845] Searching for globals ... DONE [17:27:00.845] Resolving globals: FALSE [17:27:00.853] The total size of the 2 globals is 697.73 KiB (714477 bytes) [17:27:00.854] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 697.73 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (697.70 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.855] - globals: [2] 'x', 'i' [17:27:00.855] [17:27:00.855] getGlobalsAndPackages() ... DONE [17:27:00.857] getGlobalsAndPackages() ... [17:27:00.857] Searching for globals... [17:27:00.862] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.862] Searching for globals ... DONE [17:27:00.862] Resolving globals: FALSE [17:27:00.871] The total size of the 2 globals is 716.71 KiB (733914 bytes) [17:27:00.872] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 716.71 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (716.68 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.872] - globals: [2] 'x', 'i' [17:27:00.872] [17:27:00.873] getGlobalsAndPackages() ... DONE [17:27:00.874] getGlobalsAndPackages() ... [17:27:00.875] Searching for globals... [17:27:00.879] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.879] Searching for globals ... DONE [17:27:00.879] Resolving globals: FALSE [17:27:00.891] The total size of the 2 globals is 735.74 KiB (753395 bytes) [17:27:00.892] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 735.74 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (735.70 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.893] - globals: [2] 'x', 'i' [17:27:00.893] [17:27:00.894] getGlobalsAndPackages() ... DONE [17:27:00.895] getGlobalsAndPackages() ... [17:27:00.896] Searching for globals... [17:27:00.900] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.900] Searching for globals ... DONE [17:27:00.900] Resolving globals: FALSE [17:27:00.909] The total size of the 2 globals is 754.72 KiB (772832 bytes) [17:27:00.911] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 754.72 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (754.68 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.911] - globals: [2] 'x', 'i' [17:27:00.912] [17:27:00.912] getGlobalsAndPackages() ... DONE [17:27:00.913] getGlobalsAndPackages() ... [17:27:00.914] Searching for globals... [17:27:00.918] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.918] Searching for globals ... DONE [17:27:00.918] Resolving globals: FALSE [17:27:00.926] The total size of the 2 globals is 773.70 KiB (792269 bytes) [17:27:00.927] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 773.70 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (773.67 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.927] - globals: [2] 'x', 'i' [17:27:00.927] [17:27:00.928] getGlobalsAndPackages() ... DONE [17:27:00.929] getGlobalsAndPackages() ... [17:27:00.929] Searching for globals... [17:27:00.933] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.933] Searching for globals ... DONE [17:27:00.934] Resolving globals: FALSE [17:27:00.940] The total size of the 2 globals is 792.73 KiB (811758 bytes) [17:27:00.941] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 792.73 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (792.70 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.941] - globals: [2] 'x', 'i' [17:27:00.942] [17:27:00.942] getGlobalsAndPackages() ... DONE [17:27:00.947] getGlobalsAndPackages() ... [17:27:00.948] Searching for globals... [17:27:00.952] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.953] Searching for globals ... DONE [17:27:00.953] Resolving globals: FALSE [17:27:00.961] The total size of the 2 globals is 811.71 KiB (831195 bytes) [17:27:00.962] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 811.71 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (811.68 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.963] - globals: [2] 'x', 'i' [17:27:00.963] [17:27:00.963] getGlobalsAndPackages() ... DONE [17:27:00.965] getGlobalsAndPackages() ... [17:27:00.965] Searching for globals... [17:27:00.969] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.970] Searching for globals ... DONE [17:27:00.970] Resolving globals: FALSE [17:27:00.976] The total size of the 2 globals is 830.70 KiB (850632 bytes) [17:27:00.977] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 830.70 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (830.66 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.977] - globals: [2] 'x', 'i' [17:27:00.977] [17:27:00.977] getGlobalsAndPackages() ... DONE [17:27:00.979] getGlobalsAndPackages() ... [17:27:00.979] Searching for globals... [17:27:00.983] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:00.984] Searching for globals ... DONE [17:27:00.984] Resolving globals: FALSE [17:27:00.992] The total size of the 2 globals is 849.68 KiB (870069 bytes) [17:27:00.993] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 849.68 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (849.64 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:00.994] - globals: [2] 'x', 'i' [17:27:00.994] [17:27:00.995] getGlobalsAndPackages() ... DONE [17:27:00.996] getGlobalsAndPackages() ... [17:27:00.996] Searching for globals... [17:27:01.005] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.005] Searching for globals ... DONE [17:27:01.006] Resolving globals: FALSE [17:27:01.013] The total size of the 2 globals is 868.66 KiB (889506 bytes) [17:27:01.014] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 868.66 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (868.62 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.015] - globals: [2] 'x', 'i' [17:27:01.015] [17:27:01.015] getGlobalsAndPackages() ... DONE [17:27:01.018] getGlobalsAndPackages() ... [17:27:01.018] Searching for globals... [17:27:01.024] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.024] Searching for globals ... DONE [17:27:01.024] Resolving globals: FALSE [17:27:01.034] The total size of the 2 globals is 887.64 KiB (908943 bytes) [17:27:01.035] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 887.64 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (887.61 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.035] - globals: [2] 'x', 'i' [17:27:01.036] [17:27:01.036] getGlobalsAndPackages() ... DONE [17:27:01.038] getGlobalsAndPackages() ... [17:27:01.038] Searching for globals... [17:27:01.042] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.042] Searching for globals ... DONE [17:27:01.042] Resolving globals: FALSE [17:27:01.050] The total size of the 2 globals is 906.62 KiB (928380 bytes) [17:27:01.052] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 906.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (906.59 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.052] - globals: [2] 'x', 'i' [17:27:01.052] [17:27:01.053] getGlobalsAndPackages() ... DONE [17:27:01.054] getGlobalsAndPackages() ... [17:27:01.054] Searching for globals... [17:27:01.064] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.064] Searching for globals ... DONE [17:27:01.065] Resolving globals: FALSE [17:27:01.070] The total size of the 2 globals is 925.60 KiB (947817 bytes) [17:27:01.071] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 925.60 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (925.57 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.071] - globals: [2] 'x', 'i' [17:27:01.071] [17:27:01.072] getGlobalsAndPackages() ... DONE [17:27:01.072] getGlobalsAndPackages() ... [17:27:01.073] Searching for globals... [17:27:01.075] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.075] Searching for globals ... DONE [17:27:01.075] Resolving globals: FALSE [17:27:01.081] The total size of the 2 globals is 944.58 KiB (967254 bytes) [17:27:01.081] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 944.58 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (944.55 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.081] - globals: [2] 'x', 'i' [17:27:01.082] [17:27:01.082] getGlobalsAndPackages() ... DONE [17:27:01.083] getGlobalsAndPackages() ... [17:27:01.083] Searching for globals... [17:27:01.085] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.085] Searching for globals ... DONE [17:27:01.085] Resolving globals: FALSE [17:27:01.090] The total size of the 2 globals is 963.57 KiB (986691 bytes) [17:27:01.091] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 963.57 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (963.53 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.091] - globals: [2] 'x', 'i' [17:27:01.091] [17:27:01.091] getGlobalsAndPackages() ... DONE [17:27:01.092] getGlobalsAndPackages() ... [17:27:01.092] Searching for globals... [17:27:01.097] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.097] Searching for globals ... DONE [17:27:01.097] Resolving globals: FALSE [17:27:01.102] The total size of the 2 globals is 982.55 KiB (1006128 bytes) [17:27:01.102] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 982.55 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (982.51 KiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.103] - globals: [2] 'x', 'i' [17:27:01.103] [17:27:01.103] getGlobalsAndPackages() ... DONE [17:27:01.104] getGlobalsAndPackages() ... [17:27:01.104] Searching for globals... [17:27:01.106] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.106] Searching for globals ... DONE [17:27:01.106] Resolving globals: FALSE [17:27:01.112] The total size of the 2 globals is 0.98 MiB (1025565 bytes) [17:27:01.112] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 0.98 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (0.98 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.112] - globals: [2] 'x', 'i' [17:27:01.113] [17:27:01.113] getGlobalsAndPackages() ... DONE [17:27:01.113] getGlobalsAndPackages() ... [17:27:01.114] Searching for globals... [17:27:01.116] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.116] Searching for globals ... DONE [17:27:01.116] Resolving globals: FALSE [17:27:01.121] The total size of the 2 globals is 1.00 MiB (1045002 bytes) [17:27:01.122] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.00 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.00 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.122] - globals: [2] 'x', 'i' [17:27:01.122] [17:27:01.122] getGlobalsAndPackages() ... DONE [17:27:01.123] getGlobalsAndPackages() ... [17:27:01.123] Searching for globals... [17:27:01.128] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.128] Searching for globals ... DONE [17:27:01.128] Resolving globals: FALSE [17:27:01.135] The total size of the 2 globals is 1.02 MiB (1064439 bytes) [17:27:01.135] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.02 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.02 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.136] - globals: [2] 'x', 'i' [17:27:01.136] [17:27:01.136] getGlobalsAndPackages() ... DONE [17:27:01.137] getGlobalsAndPackages() ... [17:27:01.137] Searching for globals... [17:27:01.140] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.140] Searching for globals ... DONE [17:27:01.141] Resolving globals: FALSE [17:27:01.146] The total size of the 2 globals is 1.03 MiB (1083876 bytes) [17:27:01.146] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.03 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.03 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.147] - globals: [2] 'x', 'i' [17:27:01.147] [17:27:01.147] getGlobalsAndPackages() ... DONE [17:27:01.148] getGlobalsAndPackages() ... [17:27:01.148] Searching for globals... [17:27:01.150] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.150] Searching for globals ... DONE [17:27:01.150] Resolving globals: FALSE [17:27:01.156] The total size of the 2 globals is 1.05 MiB (1103313 bytes) [17:27:01.159] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.05 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.05 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.159] - globals: [2] 'x', 'i' [17:27:01.159] [17:27:01.159] getGlobalsAndPackages() ... DONE [17:27:01.160] getGlobalsAndPackages() ... [17:27:01.160] Searching for globals... [17:27:01.162] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.163] Searching for globals ... DONE [17:27:01.163] Resolving globals: FALSE [17:27:01.168] The total size of the 2 globals is 1.07 MiB (1122750 bytes) [17:27:01.169] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.07 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.07 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.169] - globals: [2] 'x', 'i' [17:27:01.169] [17:27:01.169] getGlobalsAndPackages() ... DONE [17:27:01.170] getGlobalsAndPackages() ... [17:27:01.170] Searching for globals... [17:27:01.172] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.172] Searching for globals ... DONE [17:27:01.173] Resolving globals: FALSE [17:27:01.178] The total size of the 2 globals is 1.09 MiB (1142187 bytes) [17:27:01.178] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.09 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.09 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.179] - globals: [2] 'x', 'i' [17:27:01.179] [17:27:01.179] getGlobalsAndPackages() ... DONE [17:27:01.180] getGlobalsAndPackages() ... [17:27:01.180] Searching for globals... [17:27:01.182] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.182] Searching for globals ... DONE [17:27:01.182] Resolving globals: FALSE [17:27:01.190] The total size of the 2 globals is 1.11 MiB (1161624 bytes) [17:27:01.191] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.11 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.11 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.191] - globals: [2] 'x', 'i' [17:27:01.191] [17:27:01.192] getGlobalsAndPackages() ... DONE [17:27:01.193] getGlobalsAndPackages() ... [17:27:01.193] Searching for globals... [17:27:01.196] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.197] Searching for globals ... DONE [17:27:01.197] Resolving globals: FALSE [17:27:01.202] The total size of the 2 globals is 1.13 MiB (1181061 bytes) [17:27:01.203] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.13 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.13 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.203] - globals: [2] 'x', 'i' [17:27:01.204] [17:27:01.204] getGlobalsAndPackages() ... DONE [17:27:01.205] getGlobalsAndPackages() ... [17:27:01.205] Searching for globals... [17:27:01.209] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.209] Searching for globals ... DONE [17:27:01.209] Resolving globals: FALSE [17:27:01.218] The total size of the 2 globals is 1.14 MiB (1200498 bytes) [17:27:01.219] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.14 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.14 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.220] - globals: [2] 'x', 'i' [17:27:01.220] [17:27:01.220] getGlobalsAndPackages() ... DONE [17:27:01.221] getGlobalsAndPackages() ... [17:27:01.222] Searching for globals... [17:27:01.268] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.268] Searching for globals ... DONE [17:27:01.269] Resolving globals: FALSE [17:27:01.280] The total size of the 2 globals is 1.16 MiB (1219935 bytes) [17:27:01.281] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.16 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.16 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.282] - globals: [2] 'x', 'i' [17:27:01.282] [17:27:01.282] getGlobalsAndPackages() ... DONE [17:27:01.284] getGlobalsAndPackages() ... [17:27:01.284] Searching for globals... [17:27:01.288] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.288] Searching for globals ... DONE [17:27:01.288] Resolving globals: FALSE [17:27:01.299] The total size of the 2 globals is 1.18 MiB (1239372 bytes) [17:27:01.300] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.18 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.18 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.300] - globals: [2] 'x', 'i' [17:27:01.301] [17:27:01.301] getGlobalsAndPackages() ... DONE [17:27:01.302] getGlobalsAndPackages() ... [17:27:01.302] Searching for globals... [17:27:01.305] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.305] Searching for globals ... DONE [17:27:01.305] Resolving globals: FALSE [17:27:01.315] The total size of the 2 globals is 1.20 MiB (1258873 bytes) [17:27:01.316] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.20 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.20 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.316] - globals: [2] 'x', 'i' [17:27:01.317] [17:27:01.317] getGlobalsAndPackages() ... DONE [17:27:01.318] getGlobalsAndPackages() ... [17:27:01.318] Searching for globals... [17:27:01.326] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.327] Searching for globals ... DONE [17:27:01.327] Resolving globals: FALSE [17:27:01.339] The total size of the 2 globals is 1.22 MiB (1278310 bytes) [17:27:01.341] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.22 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.22 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.341] - globals: [2] 'x', 'i' [17:27:01.342] [17:27:01.342] getGlobalsAndPackages() ... DONE [17:27:01.344] getGlobalsAndPackages() ... [17:27:01.344] Searching for globals... [17:27:01.348] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.349] Searching for globals ... DONE [17:27:01.349] Resolving globals: FALSE [17:27:01.363] The total size of the 2 globals is 1.24 MiB (1297747 bytes) [17:27:01.364] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.24 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.24 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.364] - globals: [2] 'x', 'i' [17:27:01.365] [17:27:01.365] getGlobalsAndPackages() ... DONE [17:27:01.366] getGlobalsAndPackages() ... [17:27:01.367] Searching for globals... [17:27:01.371] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.372] Searching for globals ... DONE [17:27:01.372] Resolving globals: FALSE [17:27:01.385] The total size of the 2 globals is 1.26 MiB (1317184 bytes) [17:27:01.386] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.26 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.26 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.387] - globals: [2] 'x', 'i' [17:27:01.387] [17:27:01.387] getGlobalsAndPackages() ... DONE [17:27:01.394] getGlobalsAndPackages() ... [17:27:01.394] Searching for globals... [17:27:01.398] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.398] Searching for globals ... DONE [17:27:01.398] Resolving globals: FALSE [17:27:01.406] The total size of the 2 globals is 1.27 MiB (1336621 bytes) [17:27:01.407] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.27 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.27 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.407] - globals: [2] 'x', 'i' [17:27:01.408] [17:27:01.408] getGlobalsAndPackages() ... DONE [17:27:01.409] getGlobalsAndPackages() ... [17:27:01.409] Searching for globals... [17:27:01.412] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.412] Searching for globals ... DONE [17:27:01.412] Resolving globals: FALSE [17:27:01.421] The total size of the 2 globals is 1.29 MiB (1356058 bytes) [17:27:01.421] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.29 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.29 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.422] - globals: [2] 'x', 'i' [17:27:01.422] [17:27:01.422] getGlobalsAndPackages() ... DONE [17:27:01.423] getGlobalsAndPackages() ... [17:27:01.424] Searching for globals... [17:27:01.427] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.428] Searching for globals ... DONE [17:27:01.428] Resolving globals: FALSE [17:27:01.444] The total size of the 2 globals is 1.31 MiB (1375495 bytes) [17:27:01.446] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.31 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.31 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.446] - globals: [2] 'x', 'i' [17:27:01.446] [17:27:01.447] getGlobalsAndPackages() ... DONE [17:27:01.448] getGlobalsAndPackages() ... [17:27:01.448] Searching for globals... [17:27:01.452] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.452] Searching for globals ... DONE [17:27:01.452] Resolving globals: FALSE [17:27:01.462] The total size of the 2 globals is 1.33 MiB (1394932 bytes) [17:27:01.463] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.33 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.33 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.463] - globals: [2] 'x', 'i' [17:27:01.463] [17:27:01.463] getGlobalsAndPackages() ... DONE [17:27:01.464] getGlobalsAndPackages() ... [17:27:01.465] Searching for globals... [17:27:01.468] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.468] Searching for globals ... DONE [17:27:01.468] Resolving globals: FALSE [17:27:01.480] The total size of the 2 globals is 1.35 MiB (1414369 bytes) [17:27:01.482] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.35 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.35 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.482] - globals: [2] 'x', 'i' [17:27:01.482] [17:27:01.482] getGlobalsAndPackages() ... DONE [17:27:01.484] getGlobalsAndPackages() ... [17:27:01.484] Searching for globals... [17:27:01.488] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.489] Searching for globals ... DONE [17:27:01.489] Resolving globals: FALSE [17:27:01.505] The total size of the 2 globals is 1.37 MiB (1433806 bytes) [17:27:01.506] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.37 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.37 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.506] - globals: [2] 'x', 'i' [17:27:01.506] [17:27:01.506] getGlobalsAndPackages() ... DONE [17:27:01.507] getGlobalsAndPackages() ... [17:27:01.508] Searching for globals... [17:27:01.510] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.510] Searching for globals ... DONE [17:27:01.511] Resolving globals: FALSE [17:27:01.521] The total size of the 2 globals is 1.39 MiB (1453243 bytes) [17:27:01.522] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.39 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.39 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.522] - globals: [2] 'x', 'i' [17:27:01.522] [17:27:01.522] getGlobalsAndPackages() ... DONE [17:27:01.523] getGlobalsAndPackages() ... [17:27:01.524] Searching for globals... [17:27:01.527] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.527] Searching for globals ... DONE [17:27:01.528] Resolving globals: FALSE [17:27:01.538] The total size of the 2 globals is 1.40 MiB (1472680 bytes) [17:27:01.539] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.40 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.40 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.539] - globals: [2] 'x', 'i' [17:27:01.540] [17:27:01.540] getGlobalsAndPackages() ... DONE [17:27:01.548] getGlobalsAndPackages() ... [17:27:01.548] Searching for globals... [17:27:01.553] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.554] Searching for globals ... DONE [17:27:01.554] Resolving globals: FALSE [17:27:01.568] The total size of the 2 globals is 1.42 MiB (1492117 bytes) [17:27:01.569] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.42 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.42 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.570] - globals: [2] 'x', 'i' [17:27:01.570] [17:27:01.570] getGlobalsAndPackages() ... DONE [17:27:01.572] getGlobalsAndPackages() ... [17:27:01.572] Searching for globals... [17:27:01.576] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.577] Searching for globals ... DONE [17:27:01.577] Resolving globals: FALSE [17:27:01.592] The total size of the 2 globals is 1.44 MiB (1511554 bytes) [17:27:01.594] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.44 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.44 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.594] - globals: [2] 'x', 'i' [17:27:01.595] [17:27:01.595] getGlobalsAndPackages() ... DONE [17:27:01.596] getGlobalsAndPackages() ... [17:27:01.597] Searching for globals... [17:27:01.601] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.601] Searching for globals ... DONE [17:27:01.601] Resolving globals: FALSE [17:27:01.618] The total size of the 2 globals is 1.46 MiB (1530991 bytes) [17:27:01.619] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.46 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.46 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.619] - globals: [2] 'x', 'i' [17:27:01.619] [17:27:01.619] getGlobalsAndPackages() ... DONE [17:27:01.620] getGlobalsAndPackages() ... [17:27:01.621] Searching for globals... [17:27:01.623] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.623] Searching for globals ... DONE [17:27:01.624] Resolving globals: FALSE [17:27:01.634] The total size of the 2 globals is 1.48 MiB (1550428 bytes) [17:27:01.635] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.48 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.48 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.635] - globals: [2] 'x', 'i' [17:27:01.635] [17:27:01.635] getGlobalsAndPackages() ... DONE [17:27:01.636] getGlobalsAndPackages() ... [17:27:01.637] Searching for globals... [17:27:01.641] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.642] Searching for globals ... DONE [17:27:01.642] Resolving globals: FALSE [17:27:01.658] The total size of the 2 globals is 1.50 MiB (1569865 bytes) [17:27:01.660] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.50 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.50 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.660] - globals: [2] 'x', 'i' [17:27:01.661] [17:27:01.661] getGlobalsAndPackages() ... DONE [17:27:01.662] getGlobalsAndPackages() ... [17:27:01.667] Searching for globals... [17:27:01.672] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.672] Searching for globals ... DONE [17:27:01.673] Resolving globals: FALSE [17:27:01.688] The total size of the 2 globals is 1.52 MiB (1589302 bytes) [17:27:01.689] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.52 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.52 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.690] - globals: [2] 'x', 'i' [17:27:01.690] [17:27:01.690] getGlobalsAndPackages() ... DONE [17:27:01.692] getGlobalsAndPackages() ... [17:27:01.692] Searching for globals... [17:27:01.697] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.697] Searching for globals ... DONE [17:27:01.698] Resolving globals: FALSE [17:27:01.715] The total size of the 2 globals is 1.53 MiB (1608739 bytes) [17:27:01.716] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.53 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.53 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.717] - globals: [2] 'x', 'i' [17:27:01.717] [17:27:01.717] getGlobalsAndPackages() ... DONE [17:27:01.719] getGlobalsAndPackages() ... [17:27:01.719] Searching for globals... [17:27:01.724] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.724] Searching for globals ... DONE [17:27:01.725] Resolving globals: FALSE [17:27:01.745] The total size of the 2 globals is 1.55 MiB (1628176 bytes) [17:27:01.746] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.55 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.55 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.747] - globals: [2] 'x', 'i' [17:27:01.747] [17:27:01.748] getGlobalsAndPackages() ... DONE [17:27:01.749] getGlobalsAndPackages() ... [17:27:01.749] Searching for globals... [17:27:01.754] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.754] Searching for globals ... DONE [17:27:01.755] Resolving globals: FALSE [17:27:01.772] The total size of the 2 globals is 1.57 MiB (1647613 bytes) [17:27:01.773] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.57 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.57 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.774] - globals: [2] 'x', 'i' [17:27:01.774] [17:27:01.774] getGlobalsAndPackages() ... DONE [17:27:01.776] getGlobalsAndPackages() ... [17:27:01.776] Searching for globals... [17:27:01.781] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.781] Searching for globals ... DONE [17:27:01.782] Resolving globals: FALSE [17:27:01.802] The total size of the 2 globals is 1.59 MiB (1667050 bytes) [17:27:01.803] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.59 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.59 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.804] - globals: [2] 'x', 'i' [17:27:01.804] [17:27:01.805] getGlobalsAndPackages() ... DONE [17:27:01.806] getGlobalsAndPackages() ... [17:27:01.806] Searching for globals... [17:27:01.811] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.811] Searching for globals ... DONE [17:27:01.811] Resolving globals: FALSE [17:27:01.826] The total size of the 2 globals is 1.61 MiB (1686487 bytes) [17:27:01.827] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.61 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.61 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.828] - globals: [2] 'x', 'i' [17:27:01.828] [17:27:01.829] getGlobalsAndPackages() ... DONE [17:27:01.830] getGlobalsAndPackages() ... [17:27:01.830] Searching for globals... [17:27:01.835] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.835] Searching for globals ... DONE [17:27:01.835] Resolving globals: FALSE [17:27:01.852] The total size of the 2 globals is 1.63 MiB (1705924 bytes) [17:27:01.853] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.63 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.63 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.854] - globals: [2] 'x', 'i' [17:27:01.854] [17:27:01.854] getGlobalsAndPackages() ... DONE [17:27:01.856] getGlobalsAndPackages() ... [17:27:01.856] Searching for globals... [17:27:01.865] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.865] Searching for globals ... DONE [17:27:01.866] Resolving globals: FALSE [17:27:01.881] The total size of the 2 globals is 1.65 MiB (1725361 bytes) [17:27:01.883] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.65 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.65 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.883] - globals: [2] 'x', 'i' [17:27:01.884] [17:27:01.884] getGlobalsAndPackages() ... DONE [17:27:01.885] getGlobalsAndPackages() ... [17:27:01.885] Searching for globals... [17:27:01.889] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.890] Searching for globals ... DONE [17:27:01.890] Resolving globals: FALSE [17:27:01.905] The total size of the 2 globals is 1.66 MiB (1744798 bytes) [17:27:01.906] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.66 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.66 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.907] - globals: [2] 'x', 'i' [17:27:01.908] [17:27:01.908] getGlobalsAndPackages() ... DONE [17:27:01.910] getGlobalsAndPackages() ... [17:27:01.910] Searching for globals... [17:27:01.915] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.915] Searching for globals ... DONE [17:27:01.916] Resolving globals: FALSE [17:27:01.932] The total size of the 2 globals is 1.68 MiB (1764235 bytes) [17:27:01.933] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.68 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.68 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.934] - globals: [2] 'x', 'i' [17:27:01.934] [17:27:01.934] getGlobalsAndPackages() ... DONE [17:27:01.935] getGlobalsAndPackages() ... [17:27:01.935] Searching for globals... [17:27:01.938] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.938] Searching for globals ... DONE [17:27:01.938] Resolving globals: FALSE [17:27:01.951] The total size of the 2 globals is 1.70 MiB (1783672 bytes) [17:27:01.952] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.70 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.70 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.952] - globals: [2] 'x', 'i' [17:27:01.953] [17:27:01.953] getGlobalsAndPackages() ... DONE [17:27:01.954] getGlobalsAndPackages() ... [17:27:01.954] Searching for globals... [17:27:01.957] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.957] Searching for globals ... DONE [17:27:01.957] Resolving globals: FALSE [17:27:01.972] The total size of the 2 globals is 1.72 MiB (1803277 bytes) [17:27:01.973] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.72 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.72 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.973] - globals: [2] 'x', 'i' [17:27:01.974] [17:27:01.974] getGlobalsAndPackages() ... DONE [17:27:01.975] getGlobalsAndPackages() ... [17:27:01.975] Searching for globals... [17:27:01.978] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:01.978] Searching for globals ... DONE [17:27:01.978] Resolving globals: FALSE [17:27:01.992] The total size of the 2 globals is 1.74 MiB (1822714 bytes) [17:27:01.993] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.74 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.74 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:01.993] - globals: [2] 'x', 'i' [17:27:01.994] [17:27:01.994] getGlobalsAndPackages() ... DONE [17:27:01.996] getGlobalsAndPackages() ... [17:27:01.996] Searching for globals... [17:27:02.001] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:02.001] Searching for globals ... DONE [17:27:02.002] Resolving globals: FALSE [17:27:02.021] The total size of the 2 globals is 1.76 MiB (1842151 bytes) [17:27:02.022] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.76 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.76 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:02.023] - globals: [2] 'x', 'i' [17:27:02.023] [17:27:02.023] getGlobalsAndPackages() ... DONE [17:27:02.024] getGlobalsAndPackages() ... [17:27:02.024] Searching for globals... [17:27:02.028] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:02.028] Searching for globals ... DONE [17:27:02.029] Resolving globals: FALSE [17:27:02.043] The total size of the 2 globals is 1.78 MiB (1861588 bytes) [17:27:02.045] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.78 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.78 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:02.045] - globals: [2] 'x', 'i' [17:27:02.045] [17:27:02.045] getGlobalsAndPackages() ... DONE [17:27:02.046] getGlobalsAndPackages() ... [17:27:02.046] Searching for globals... [17:27:02.050] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:02.051] Searching for globals ... DONE [17:27:02.051] Resolving globals: FALSE [17:27:02.070] The total size of the 2 globals is 1.79 MiB (1881025 bytes) [17:27:02.071] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.79 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.79 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:02.072] - globals: [2] 'x', 'i' [17:27:02.072] [17:27:02.072] getGlobalsAndPackages() ... DONE [17:27:02.074] getGlobalsAndPackages() ... [17:27:02.074] Searching for globals... [17:27:02.078] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [17:27:02.078] Searching for globals ... DONE [17:27:02.078] Resolving globals: FALSE [17:27:02.093] The total size of the 2 globals is 1.81 MiB (1900464 bytes) [17:27:02.093] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 1.81 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (1.81 MiB of class 'environment') and 'i' (35 bytes of class 'numeric') [17:27:02.094] - globals: [2] 'x', 'i' [17:27:02.094] [17:27:02.094] getGlobalsAndPackages() ... DONE > ## At this point nothing has been calculated, > ## because lazy evaluation is in place. > > ## Get the 7:th Fibonnaci numbers (should be 8) > print(x[[7]]) [17:27:02.096] run() for 'Future' ... [17:27:02.096] - state: 'created' [17:27:02.096] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:02.097] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:02.097] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:02.097] - Field: 'label' [17:27:02.097] - Field: 'local' [17:27:02.097] - Field: 'owner' [17:27:02.098] - Field: 'envir' [17:27:02.098] - Field: 'packages' [17:27:02.098] - Field: 'gc' [17:27:02.098] - Field: 'conditions' [17:27:02.098] - Field: 'expr' [17:27:02.098] - Field: 'uuid' [17:27:02.099] - Field: 'seed' [17:27:02.099] - Field: 'version' [17:27:02.099] - Field: 'result' [17:27:02.100] - Field: 'asynchronous' [17:27:02.100] - Field: 'calls' [17:27:02.100] - Field: 'globals' [17:27:02.101] - Field: 'stdout' [17:27:02.101] - Field: 'earlySignal' [17:27:02.101] - Field: 'lazy' [17:27:02.101] - Field: 'state' [17:27:02.102] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:02.102] - Launch lazy future ... [17:27:02.103] Packages needed by the future expression (n = 0): [17:27:02.104] Packages needed by future strategies (n = 0): [17:27:02.105] { [17:27:02.105] { [17:27:02.105] { [17:27:02.105] ...future.startTime <- base::Sys.time() [17:27:02.105] { [17:27:02.105] { [17:27:02.105] { [17:27:02.105] base::local({ [17:27:02.105] has_future <- base::requireNamespace("future", [17:27:02.105] quietly = TRUE) [17:27:02.105] if (has_future) { [17:27:02.105] ns <- base::getNamespace("future") [17:27:02.105] version <- ns[[".package"]][["version"]] [17:27:02.105] if (is.null(version)) [17:27:02.105] version <- utils::packageVersion("future") [17:27:02.105] } [17:27:02.105] else { [17:27:02.105] version <- NULL [17:27:02.105] } [17:27:02.105] if (!has_future || version < "1.8.0") { [17:27:02.105] info <- base::c(r_version = base::gsub("R version ", [17:27:02.105] "", base::R.version$version.string), [17:27:02.105] platform = base::sprintf("%s (%s-bit)", [17:27:02.105] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:02.105] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:02.105] "release", "version")], collapse = " "), [17:27:02.105] hostname = base::Sys.info()[["nodename"]]) [17:27:02.105] info <- base::sprintf("%s: %s", base::names(info), [17:27:02.105] info) [17:27:02.105] info <- base::paste(info, collapse = "; ") [17:27:02.105] if (!has_future) { [17:27:02.105] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:02.105] info) [17:27:02.105] } [17:27:02.105] else { [17:27:02.105] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:02.105] info, version) [17:27:02.105] } [17:27:02.105] base::stop(msg) [17:27:02.105] } [17:27:02.105] }) [17:27:02.105] } [17:27:02.105] ...future.strategy.old <- future::plan("list") [17:27:02.105] options(future.plan = NULL) [17:27:02.105] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.105] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:02.105] } [17:27:02.105] ...future.workdir <- getwd() [17:27:02.105] } [17:27:02.105] ...future.oldOptions <- base::as.list(base::.Options) [17:27:02.105] ...future.oldEnvVars <- base::Sys.getenv() [17:27:02.105] } [17:27:02.105] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:02.105] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:02.105] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:02.105] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:02.105] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:02.105] future.stdout.windows.reencode = NULL, width = 80L) [17:27:02.105] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:02.105] base::names(...future.oldOptions)) [17:27:02.105] } [17:27:02.105] if (TRUE) { [17:27:02.105] } [17:27:02.105] else { [17:27:02.105] if (NA) { [17:27:02.105] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:02.105] open = "w") [17:27:02.105] } [17:27:02.105] else { [17:27:02.105] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:02.105] windows = "NUL", "/dev/null"), open = "w") [17:27:02.105] } [17:27:02.105] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:02.105] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:02.105] base::sink(type = "output", split = FALSE) [17:27:02.105] base::close(...future.stdout) [17:27:02.105] }, add = TRUE) [17:27:02.105] } [17:27:02.105] ...future.frame <- base::sys.nframe() [17:27:02.105] ...future.conditions <- base::list() [17:27:02.105] ...future.rng <- base::globalenv()$.Random.seed [17:27:02.105] if (FALSE) { [17:27:02.105] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:02.105] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:02.105] } [17:27:02.105] ...future.result <- base::tryCatch({ [17:27:02.105] base::withCallingHandlers({ [17:27:02.105] ...future.value <- base::withVisible(base::local({ [17:27:02.105] x[[i - 2]] + x[[i - 1]] [17:27:02.105] })) [17:27:02.105] future::FutureResult(value = ...future.value$value, [17:27:02.105] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.105] ...future.rng), globalenv = if (FALSE) [17:27:02.105] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:02.105] ...future.globalenv.names)) [17:27:02.105] else NULL, started = ...future.startTime, version = "1.8") [17:27:02.105] }, condition = base::local({ [17:27:02.105] c <- base::c [17:27:02.105] inherits <- base::inherits [17:27:02.105] invokeRestart <- base::invokeRestart [17:27:02.105] length <- base::length [17:27:02.105] list <- base::list [17:27:02.105] seq.int <- base::seq.int [17:27:02.105] signalCondition <- base::signalCondition [17:27:02.105] sys.calls <- base::sys.calls [17:27:02.105] `[[` <- base::`[[` [17:27:02.105] `+` <- base::`+` [17:27:02.105] `<<-` <- base::`<<-` [17:27:02.105] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:02.105] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:02.105] 3L)] [17:27:02.105] } [17:27:02.105] function(cond) { [17:27:02.105] is_error <- inherits(cond, "error") [17:27:02.105] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:02.105] NULL) [17:27:02.105] if (is_error) { [17:27:02.105] sessionInformation <- function() { [17:27:02.105] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:02.105] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:02.105] search = base::search(), system = base::Sys.info()) [17:27:02.105] } [17:27:02.105] ...future.conditions[[length(...future.conditions) + [17:27:02.105] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:02.105] cond$call), session = sessionInformation(), [17:27:02.105] timestamp = base::Sys.time(), signaled = 0L) [17:27:02.105] signalCondition(cond) [17:27:02.105] } [17:27:02.105] else if (!ignore && TRUE && inherits(cond, c("error", [17:27:02.105] "immediateCondition"))) { [17:27:02.105] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:02.105] ...future.conditions[[length(...future.conditions) + [17:27:02.105] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:02.105] if (TRUE && !signal) { [17:27:02.105] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.105] { [17:27:02.105] inherits <- base::inherits [17:27:02.105] invokeRestart <- base::invokeRestart [17:27:02.105] is.null <- base::is.null [17:27:02.105] muffled <- FALSE [17:27:02.105] if (inherits(cond, "message")) { [17:27:02.105] muffled <- grepl(pattern, "muffleMessage") [17:27:02.105] if (muffled) [17:27:02.105] invokeRestart("muffleMessage") [17:27:02.105] } [17:27:02.105] else if (inherits(cond, "warning")) { [17:27:02.105] muffled <- grepl(pattern, "muffleWarning") [17:27:02.105] if (muffled) [17:27:02.105] invokeRestart("muffleWarning") [17:27:02.105] } [17:27:02.105] else if (inherits(cond, "condition")) { [17:27:02.105] if (!is.null(pattern)) { [17:27:02.105] computeRestarts <- base::computeRestarts [17:27:02.105] grepl <- base::grepl [17:27:02.105] restarts <- computeRestarts(cond) [17:27:02.105] for (restart in restarts) { [17:27:02.105] name <- restart$name [17:27:02.105] if (is.null(name)) [17:27:02.105] next [17:27:02.105] if (!grepl(pattern, name)) [17:27:02.105] next [17:27:02.105] invokeRestart(restart) [17:27:02.105] muffled <- TRUE [17:27:02.105] break [17:27:02.105] } [17:27:02.105] } [17:27:02.105] } [17:27:02.105] invisible(muffled) [17:27:02.105] } [17:27:02.105] muffleCondition(cond, pattern = "^muffle") [17:27:02.105] } [17:27:02.105] } [17:27:02.105] else { [17:27:02.105] if (TRUE) { [17:27:02.105] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.105] { [17:27:02.105] inherits <- base::inherits [17:27:02.105] invokeRestart <- base::invokeRestart [17:27:02.105] is.null <- base::is.null [17:27:02.105] muffled <- FALSE [17:27:02.105] if (inherits(cond, "message")) { [17:27:02.105] muffled <- grepl(pattern, "muffleMessage") [17:27:02.105] if (muffled) [17:27:02.105] invokeRestart("muffleMessage") [17:27:02.105] } [17:27:02.105] else if (inherits(cond, "warning")) { [17:27:02.105] muffled <- grepl(pattern, "muffleWarning") [17:27:02.105] if (muffled) [17:27:02.105] invokeRestart("muffleWarning") [17:27:02.105] } [17:27:02.105] else if (inherits(cond, "condition")) { [17:27:02.105] if (!is.null(pattern)) { [17:27:02.105] computeRestarts <- base::computeRestarts [17:27:02.105] grepl <- base::grepl [17:27:02.105] restarts <- computeRestarts(cond) [17:27:02.105] for (restart in restarts) { [17:27:02.105] name <- restart$name [17:27:02.105] if (is.null(name)) [17:27:02.105] next [17:27:02.105] if (!grepl(pattern, name)) [17:27:02.105] next [17:27:02.105] invokeRestart(restart) [17:27:02.105] muffled <- TRUE [17:27:02.105] break [17:27:02.105] } [17:27:02.105] } [17:27:02.105] } [17:27:02.105] invisible(muffled) [17:27:02.105] } [17:27:02.105] muffleCondition(cond, pattern = "^muffle") [17:27:02.105] } [17:27:02.105] } [17:27:02.105] } [17:27:02.105] })) [17:27:02.105] }, error = function(ex) { [17:27:02.105] base::structure(base::list(value = NULL, visible = NULL, [17:27:02.105] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.105] ...future.rng), started = ...future.startTime, [17:27:02.105] finished = Sys.time(), session_uuid = NA_character_, [17:27:02.105] version = "1.8"), class = "FutureResult") [17:27:02.105] }, finally = { [17:27:02.105] if (!identical(...future.workdir, getwd())) [17:27:02.105] setwd(...future.workdir) [17:27:02.105] { [17:27:02.105] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:02.105] ...future.oldOptions$nwarnings <- NULL [17:27:02.105] } [17:27:02.105] base::options(...future.oldOptions) [17:27:02.105] if (.Platform$OS.type == "windows") { [17:27:02.105] old_names <- names(...future.oldEnvVars) [17:27:02.105] envs <- base::Sys.getenv() [17:27:02.105] names <- names(envs) [17:27:02.105] common <- intersect(names, old_names) [17:27:02.105] added <- setdiff(names, old_names) [17:27:02.105] removed <- setdiff(old_names, names) [17:27:02.105] changed <- common[...future.oldEnvVars[common] != [17:27:02.105] envs[common]] [17:27:02.105] NAMES <- toupper(changed) [17:27:02.105] args <- list() [17:27:02.105] for (kk in seq_along(NAMES)) { [17:27:02.105] name <- changed[[kk]] [17:27:02.105] NAME <- NAMES[[kk]] [17:27:02.105] if (name != NAME && is.element(NAME, old_names)) [17:27:02.105] next [17:27:02.105] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.105] } [17:27:02.105] NAMES <- toupper(added) [17:27:02.105] for (kk in seq_along(NAMES)) { [17:27:02.105] name <- added[[kk]] [17:27:02.105] NAME <- NAMES[[kk]] [17:27:02.105] if (name != NAME && is.element(NAME, old_names)) [17:27:02.105] next [17:27:02.105] args[[name]] <- "" [17:27:02.105] } [17:27:02.105] NAMES <- toupper(removed) [17:27:02.105] for (kk in seq_along(NAMES)) { [17:27:02.105] name <- removed[[kk]] [17:27:02.105] NAME <- NAMES[[kk]] [17:27:02.105] if (name != NAME && is.element(NAME, old_names)) [17:27:02.105] next [17:27:02.105] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.105] } [17:27:02.105] if (length(args) > 0) [17:27:02.105] base::do.call(base::Sys.setenv, args = args) [17:27:02.105] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:02.105] } [17:27:02.105] else { [17:27:02.105] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:02.105] } [17:27:02.105] { [17:27:02.105] if (base::length(...future.futureOptionsAdded) > [17:27:02.105] 0L) { [17:27:02.105] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:02.105] base::names(opts) <- ...future.futureOptionsAdded [17:27:02.105] base::options(opts) [17:27:02.105] } [17:27:02.105] { [17:27:02.105] { [17:27:02.105] NULL [17:27:02.105] RNGkind("Mersenne-Twister") [17:27:02.105] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:02.105] inherits = FALSE) [17:27:02.105] } [17:27:02.105] options(future.plan = NULL) [17:27:02.105] if (is.na(NA_character_)) [17:27:02.105] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.105] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:02.105] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:02.105] .init = FALSE) [17:27:02.105] } [17:27:02.105] } [17:27:02.105] } [17:27:02.105] }) [17:27:02.105] if (FALSE) { [17:27:02.105] base::sink(type = "output", split = FALSE) [17:27:02.105] if (NA) { [17:27:02.105] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:02.105] } [17:27:02.105] else { [17:27:02.105] ...future.result["stdout"] <- base::list(NULL) [17:27:02.105] } [17:27:02.105] base::close(...future.stdout) [17:27:02.105] ...future.stdout <- NULL [17:27:02.105] } [17:27:02.105] ...future.result$conditions <- ...future.conditions [17:27:02.105] ...future.result$finished <- base::Sys.time() [17:27:02.105] ...future.result [17:27:02.105] } [17:27:02.109] assign_globals() ... [17:27:02.109] List of 2 [17:27:02.109] $ x:Classes 'listenv', 'environment' [17:27:02.109] $ i: int 7 [17:27:02.109] - attr(*, "where")=List of 2 [17:27:02.109] ..$ x: [17:27:02.109] ..$ i: [17:27:02.109] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:02.109] - attr(*, "resolved")= logi FALSE [17:27:02.109] - attr(*, "total_size")= int 92414 [17:27:02.109] - attr(*, "already-done")= logi TRUE [17:27:02.120] - copied 'x' to environment [17:27:02.120] - copied 'i' to environment [17:27:02.121] assign_globals() ... done [17:27:02.121] plan(): Setting new future strategy stack: [17:27:02.122] List of future strategies: [17:27:02.122] 1. sequential: [17:27:02.122] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.122] - tweaked: FALSE [17:27:02.122] - call: NULL [17:27:02.123] plan(): nbrOfWorkers() = 1 [17:27:02.395] plan(): Setting new future strategy stack: [17:27:02.395] List of future strategies: [17:27:02.395] 1. sequential: [17:27:02.395] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.395] - tweaked: FALSE [17:27:02.395] - call: plan(sequential) [17:27:02.396] plan(): nbrOfWorkers() = 1 [17:27:02.396] SequentialFuture started (and completed) [17:27:02.396] - Launch lazy future ... done [17:27:02.397] run() for 'SequentialFuture' ... done [1] 8 > ## At this point x[1:7] have been calculated, > ## but nothing beyond. > > ## Let's get the 50:th number. > print(x[[50]]) [17:27:02.398] run() for 'Future' ... [17:27:02.398] - state: 'created' [17:27:02.399] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:02.399] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:02.400] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:02.400] - Field: 'label' [17:27:02.400] - Field: 'local' [17:27:02.401] - Field: 'owner' [17:27:02.401] - Field: 'envir' [17:27:02.401] - Field: 'packages' [17:27:02.402] - Field: 'gc' [17:27:02.402] - Field: 'conditions' [17:27:02.402] - Field: 'expr' [17:27:02.403] - Field: 'uuid' [17:27:02.403] - Field: 'seed' [17:27:02.403] - Field: 'version' [17:27:02.404] - Field: 'result' [17:27:02.404] - Field: 'asynchronous' [17:27:02.404] - Field: 'calls' [17:27:02.405] - Field: 'globals' [17:27:02.405] - Field: 'stdout' [17:27:02.405] - Field: 'earlySignal' [17:27:02.405] - Field: 'lazy' [17:27:02.406] - Field: 'state' [17:27:02.406] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:02.406] - Launch lazy future ... [17:27:02.407] Packages needed by the future expression (n = 0): [17:27:02.407] Packages needed by future strategies (n = 0): [17:27:02.408] { [17:27:02.408] { [17:27:02.408] { [17:27:02.408] ...future.startTime <- base::Sys.time() [17:27:02.408] { [17:27:02.408] { [17:27:02.408] { [17:27:02.408] base::local({ [17:27:02.408] has_future <- base::requireNamespace("future", [17:27:02.408] quietly = TRUE) [17:27:02.408] if (has_future) { [17:27:02.408] ns <- base::getNamespace("future") [17:27:02.408] version <- ns[[".package"]][["version"]] [17:27:02.408] if (is.null(version)) [17:27:02.408] version <- utils::packageVersion("future") [17:27:02.408] } [17:27:02.408] else { [17:27:02.408] version <- NULL [17:27:02.408] } [17:27:02.408] if (!has_future || version < "1.8.0") { [17:27:02.408] info <- base::c(r_version = base::gsub("R version ", [17:27:02.408] "", base::R.version$version.string), [17:27:02.408] platform = base::sprintf("%s (%s-bit)", [17:27:02.408] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:02.408] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:02.408] "release", "version")], collapse = " "), [17:27:02.408] hostname = base::Sys.info()[["nodename"]]) [17:27:02.408] info <- base::sprintf("%s: %s", base::names(info), [17:27:02.408] info) [17:27:02.408] info <- base::paste(info, collapse = "; ") [17:27:02.408] if (!has_future) { [17:27:02.408] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:02.408] info) [17:27:02.408] } [17:27:02.408] else { [17:27:02.408] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:02.408] info, version) [17:27:02.408] } [17:27:02.408] base::stop(msg) [17:27:02.408] } [17:27:02.408] }) [17:27:02.408] } [17:27:02.408] ...future.strategy.old <- future::plan("list") [17:27:02.408] options(future.plan = NULL) [17:27:02.408] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.408] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:02.408] } [17:27:02.408] ...future.workdir <- getwd() [17:27:02.408] } [17:27:02.408] ...future.oldOptions <- base::as.list(base::.Options) [17:27:02.408] ...future.oldEnvVars <- base::Sys.getenv() [17:27:02.408] } [17:27:02.408] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:02.408] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:02.408] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:02.408] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:02.408] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:02.408] future.stdout.windows.reencode = NULL, width = 80L) [17:27:02.408] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:02.408] base::names(...future.oldOptions)) [17:27:02.408] } [17:27:02.408] if (TRUE) { [17:27:02.408] } [17:27:02.408] else { [17:27:02.408] if (NA) { [17:27:02.408] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:02.408] open = "w") [17:27:02.408] } [17:27:02.408] else { [17:27:02.408] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:02.408] windows = "NUL", "/dev/null"), open = "w") [17:27:02.408] } [17:27:02.408] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:02.408] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:02.408] base::sink(type = "output", split = FALSE) [17:27:02.408] base::close(...future.stdout) [17:27:02.408] }, add = TRUE) [17:27:02.408] } [17:27:02.408] ...future.frame <- base::sys.nframe() [17:27:02.408] ...future.conditions <- base::list() [17:27:02.408] ...future.rng <- base::globalenv()$.Random.seed [17:27:02.408] if (FALSE) { [17:27:02.408] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:02.408] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:02.408] } [17:27:02.408] ...future.result <- base::tryCatch({ [17:27:02.408] base::withCallingHandlers({ [17:27:02.408] ...future.value <- base::withVisible(base::local({ [17:27:02.408] x[[i - 2]] + x[[i - 1]] [17:27:02.408] })) [17:27:02.408] future::FutureResult(value = ...future.value$value, [17:27:02.408] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.408] ...future.rng), globalenv = if (FALSE) [17:27:02.408] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:02.408] ...future.globalenv.names)) [17:27:02.408] else NULL, started = ...future.startTime, version = "1.8") [17:27:02.408] }, condition = base::local({ [17:27:02.408] c <- base::c [17:27:02.408] inherits <- base::inherits [17:27:02.408] invokeRestart <- base::invokeRestart [17:27:02.408] length <- base::length [17:27:02.408] list <- base::list [17:27:02.408] seq.int <- base::seq.int [17:27:02.408] signalCondition <- base::signalCondition [17:27:02.408] sys.calls <- base::sys.calls [17:27:02.408] `[[` <- base::`[[` [17:27:02.408] `+` <- base::`+` [17:27:02.408] `<<-` <- base::`<<-` [17:27:02.408] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:02.408] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:02.408] 3L)] [17:27:02.408] } [17:27:02.408] function(cond) { [17:27:02.408] is_error <- inherits(cond, "error") [17:27:02.408] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:02.408] NULL) [17:27:02.408] if (is_error) { [17:27:02.408] sessionInformation <- function() { [17:27:02.408] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:02.408] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:02.408] search = base::search(), system = base::Sys.info()) [17:27:02.408] } [17:27:02.408] ...future.conditions[[length(...future.conditions) + [17:27:02.408] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:02.408] cond$call), session = sessionInformation(), [17:27:02.408] timestamp = base::Sys.time(), signaled = 0L) [17:27:02.408] signalCondition(cond) [17:27:02.408] } [17:27:02.408] else if (!ignore && TRUE && inherits(cond, c("error", [17:27:02.408] "immediateCondition"))) { [17:27:02.408] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:02.408] ...future.conditions[[length(...future.conditions) + [17:27:02.408] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:02.408] if (TRUE && !signal) { [17:27:02.408] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.408] { [17:27:02.408] inherits <- base::inherits [17:27:02.408] invokeRestart <- base::invokeRestart [17:27:02.408] is.null <- base::is.null [17:27:02.408] muffled <- FALSE [17:27:02.408] if (inherits(cond, "message")) { [17:27:02.408] muffled <- grepl(pattern, "muffleMessage") [17:27:02.408] if (muffled) [17:27:02.408] invokeRestart("muffleMessage") [17:27:02.408] } [17:27:02.408] else if (inherits(cond, "warning")) { [17:27:02.408] muffled <- grepl(pattern, "muffleWarning") [17:27:02.408] if (muffled) [17:27:02.408] invokeRestart("muffleWarning") [17:27:02.408] } [17:27:02.408] else if (inherits(cond, "condition")) { [17:27:02.408] if (!is.null(pattern)) { [17:27:02.408] computeRestarts <- base::computeRestarts [17:27:02.408] grepl <- base::grepl [17:27:02.408] restarts <- computeRestarts(cond) [17:27:02.408] for (restart in restarts) { [17:27:02.408] name <- restart$name [17:27:02.408] if (is.null(name)) [17:27:02.408] next [17:27:02.408] if (!grepl(pattern, name)) [17:27:02.408] next [17:27:02.408] invokeRestart(restart) [17:27:02.408] muffled <- TRUE [17:27:02.408] break [17:27:02.408] } [17:27:02.408] } [17:27:02.408] } [17:27:02.408] invisible(muffled) [17:27:02.408] } [17:27:02.408] muffleCondition(cond, pattern = "^muffle") [17:27:02.408] } [17:27:02.408] } [17:27:02.408] else { [17:27:02.408] if (TRUE) { [17:27:02.408] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.408] { [17:27:02.408] inherits <- base::inherits [17:27:02.408] invokeRestart <- base::invokeRestart [17:27:02.408] is.null <- base::is.null [17:27:02.408] muffled <- FALSE [17:27:02.408] if (inherits(cond, "message")) { [17:27:02.408] muffled <- grepl(pattern, "muffleMessage") [17:27:02.408] if (muffled) [17:27:02.408] invokeRestart("muffleMessage") [17:27:02.408] } [17:27:02.408] else if (inherits(cond, "warning")) { [17:27:02.408] muffled <- grepl(pattern, "muffleWarning") [17:27:02.408] if (muffled) [17:27:02.408] invokeRestart("muffleWarning") [17:27:02.408] } [17:27:02.408] else if (inherits(cond, "condition")) { [17:27:02.408] if (!is.null(pattern)) { [17:27:02.408] computeRestarts <- base::computeRestarts [17:27:02.408] grepl <- base::grepl [17:27:02.408] restarts <- computeRestarts(cond) [17:27:02.408] for (restart in restarts) { [17:27:02.408] name <- restart$name [17:27:02.408] if (is.null(name)) [17:27:02.408] next [17:27:02.408] if (!grepl(pattern, name)) [17:27:02.408] next [17:27:02.408] invokeRestart(restart) [17:27:02.408] muffled <- TRUE [17:27:02.408] break [17:27:02.408] } [17:27:02.408] } [17:27:02.408] } [17:27:02.408] invisible(muffled) [17:27:02.408] } [17:27:02.408] muffleCondition(cond, pattern = "^muffle") [17:27:02.408] } [17:27:02.408] } [17:27:02.408] } [17:27:02.408] })) [17:27:02.408] }, error = function(ex) { [17:27:02.408] base::structure(base::list(value = NULL, visible = NULL, [17:27:02.408] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.408] ...future.rng), started = ...future.startTime, [17:27:02.408] finished = Sys.time(), session_uuid = NA_character_, [17:27:02.408] version = "1.8"), class = "FutureResult") [17:27:02.408] }, finally = { [17:27:02.408] if (!identical(...future.workdir, getwd())) [17:27:02.408] setwd(...future.workdir) [17:27:02.408] { [17:27:02.408] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:02.408] ...future.oldOptions$nwarnings <- NULL [17:27:02.408] } [17:27:02.408] base::options(...future.oldOptions) [17:27:02.408] if (.Platform$OS.type == "windows") { [17:27:02.408] old_names <- names(...future.oldEnvVars) [17:27:02.408] envs <- base::Sys.getenv() [17:27:02.408] names <- names(envs) [17:27:02.408] common <- intersect(names, old_names) [17:27:02.408] added <- setdiff(names, old_names) [17:27:02.408] removed <- setdiff(old_names, names) [17:27:02.408] changed <- common[...future.oldEnvVars[common] != [17:27:02.408] envs[common]] [17:27:02.408] NAMES <- toupper(changed) [17:27:02.408] args <- list() [17:27:02.408] for (kk in seq_along(NAMES)) { [17:27:02.408] name <- changed[[kk]] [17:27:02.408] NAME <- NAMES[[kk]] [17:27:02.408] if (name != NAME && is.element(NAME, old_names)) [17:27:02.408] next [17:27:02.408] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.408] } [17:27:02.408] NAMES <- toupper(added) [17:27:02.408] for (kk in seq_along(NAMES)) { [17:27:02.408] name <- added[[kk]] [17:27:02.408] NAME <- NAMES[[kk]] [17:27:02.408] if (name != NAME && is.element(NAME, old_names)) [17:27:02.408] next [17:27:02.408] args[[name]] <- "" [17:27:02.408] } [17:27:02.408] NAMES <- toupper(removed) [17:27:02.408] for (kk in seq_along(NAMES)) { [17:27:02.408] name <- removed[[kk]] [17:27:02.408] NAME <- NAMES[[kk]] [17:27:02.408] if (name != NAME && is.element(NAME, old_names)) [17:27:02.408] next [17:27:02.408] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.408] } [17:27:02.408] if (length(args) > 0) [17:27:02.408] base::do.call(base::Sys.setenv, args = args) [17:27:02.408] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:02.408] } [17:27:02.408] else { [17:27:02.408] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:02.408] } [17:27:02.408] { [17:27:02.408] if (base::length(...future.futureOptionsAdded) > [17:27:02.408] 0L) { [17:27:02.408] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:02.408] base::names(opts) <- ...future.futureOptionsAdded [17:27:02.408] base::options(opts) [17:27:02.408] } [17:27:02.408] { [17:27:02.408] { [17:27:02.408] NULL [17:27:02.408] RNGkind("Mersenne-Twister") [17:27:02.408] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:02.408] inherits = FALSE) [17:27:02.408] } [17:27:02.408] options(future.plan = NULL) [17:27:02.408] if (is.na(NA_character_)) [17:27:02.408] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.408] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:02.408] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:02.408] .init = FALSE) [17:27:02.408] } [17:27:02.408] } [17:27:02.408] } [17:27:02.408] }) [17:27:02.408] if (FALSE) { [17:27:02.408] base::sink(type = "output", split = FALSE) [17:27:02.408] if (NA) { [17:27:02.408] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:02.408] } [17:27:02.408] else { [17:27:02.408] ...future.result["stdout"] <- base::list(NULL) [17:27:02.408] } [17:27:02.408] base::close(...future.stdout) [17:27:02.408] ...future.stdout <- NULL [17:27:02.408] } [17:27:02.408] ...future.result$conditions <- ...future.conditions [17:27:02.408] ...future.result$finished <- base::Sys.time() [17:27:02.408] ...future.result [17:27:02.408] } [17:27:02.415] assign_globals() ... [17:27:02.415] List of 2 [17:27:02.415] $ x:Classes 'listenv', 'environment' [17:27:02.415] $ i: int 50 [17:27:02.415] - attr(*, "where")=List of 2 [17:27:02.415] ..$ x: [17:27:02.415] ..$ i: [17:27:02.415] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:02.415] - attr(*, "resolved")= logi FALSE [17:27:02.415] - attr(*, "total_size")= int 928380 [17:27:02.415] - attr(*, "already-done")= logi TRUE [17:27:02.421] - copied 'x' to environment [17:27:02.421] - copied 'i' to environment [17:27:02.421] assign_globals() ... done [17:27:02.422] plan(): Setting new future strategy stack: [17:27:02.422] List of future strategies: [17:27:02.422] 1. sequential: [17:27:02.422] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.422] - tweaked: FALSE [17:27:02.422] - call: NULL [17:27:02.423] plan(): nbrOfWorkers() = 1 [17:27:04.531] plan(): Setting new future strategy stack: [17:27:04.532] List of future strategies: [17:27:04.532] 1. sequential: [17:27:04.532] - args: function (..., envir = parent.frame(), workers = "") [17:27:04.532] - tweaked: FALSE [17:27:04.532] - call: plan(sequential) [17:27:04.533] plan(): nbrOfWorkers() = 1 [17:27:04.533] SequentialFuture started (and completed) [17:27:04.533] - Launch lazy future ... done [17:27:04.534] run() for 'SequentialFuture' ... done [1] 7778742049 > ## Reset plan > plan(oplan) [17:27:04.535] plan(): Setting new future strategy stack: [17:27:04.535] List of future strategies: [17:27:04.535] 1. sequential: [17:27:04.535] - args: function (..., envir = parent.frame(), workers = "") [17:27:04.535] - tweaked: FALSE [17:27:04.535] - call: future::plan("sequential") [17:27:04.536] plan(): nbrOfWorkers() = 1 > message("*** Fibonacci demo of the 'future' package ... DONE") *** Fibonacci demo of the 'future' package ... DONE > > > message("*** Mandelbrot demo of the 'future' package ...") *** Mandelbrot demo of the 'future' package ... > if (getRversion() >= "3.2.0" && !isWin32) { + options(future.demo.mandelbrot.nrow = 2L) + options(future.demo.mandelbrot.resolution = 50L) + options(future.demo.mandelbrot.delay = FALSE) + + for (cores in 1:availCores) { + message(sprintf("Testing with %d cores ...", cores)) + options(mc.cores = cores) + + for (strategy in supportedStrategies(cores)) { + message(sprintf("- plan('%s') ...", strategy)) + plan(strategy) + demo("mandelbrot", package = "future", ask = FALSE) + message(sprintf("- plan('%s') ... DONE", strategy)) + } + + message(sprintf("Testing with %d cores ... DONE", cores)) + } ## for (cores ...) + } else { + message(" - This demo requires R (>= 3.2.0). Skipping test. (Skipping also on Win32 i386 for speed)") + } Testing with 1 cores ... - plan('sequential') ... [17:27:04.552] plan(): Setting new future strategy stack: [17:27:04.552] List of future strategies: [17:27:04.552] 1. sequential: [17:27:04.552] - args: function (..., envir = parent.frame(), workers = "") [17:27:04.552] - tweaked: FALSE [17:27:04.552] - call: plan(strategy) [17:27:04.554] plan(): nbrOfWorkers() = 1 demo(mandelbrot) ---- ~~~~~~~~~~ > library("future") > library("graphics") > plot_what_is_done <- function(counts) { + for (kk in seq_along(counts)) { + f <- counts[[kk]] + + ## Already plotted? + if (!inherits(f, "Future")) next + + ## Not resolved? + if (!resolved(f)) next + + message(sprintf("Plotting tile #%d of %d ...", kk, n)) + counts[[kk]] <- value(f) + screen(kk) + plot(counts[[kk]]) + } + + counts + } > ## Options > region <- getOption("future.demo.mandelbrot.region", 1L) > if (!is.list(region)) { + if (region == 1L) { + region <- list(xmid = -0.75, ymid = 0.0, side = 3.0) + } else if (region == 2L) { + region <- list(xmid = 0.283, ymid = -0.0095, side = 0.00026) + } else if (region == 3L) { + region <- list(xmid = 0.282989, ymid = -0.01, side = 3e-8) + } + } > nrow <- getOption("future.demo.mandelbrot.nrow", 3L) > resolution <- getOption("future.demo.mandelbrot.resolution", 400L) > delay <- getOption("future.demo.mandelbrot.delay", interactive()) > if (isTRUE(delay)) { + delay <- function(counts) Sys.sleep(1.0) + } else if (!is.function(delay)) { + delay <- function(counts) {} + } > ## Generate Mandelbrot tiles to be computed > Cs <- mandelbrot_tiles(xmid = region$xmid, ymid = region$ymid, + side = region$side, nrow = nrow, + resolution = resolution) > if (interactive()) { + dev.new() + plot.new() + split.screen(dim(Cs)) + for (ii in seq_along(Cs)) { + screen(ii) + par(mar = c(0, 0, 0, 0)) + text(x = 1 / 2, y = 1 / 2, sprintf("Future #%d\nunresolved", ii), cex = 2) + } + } else { + split.screen(dim(Cs)) + } [1] 1 2 3 4 > ## Create all Mandelbrot tiles via lazy futures > n <- length(Cs) > message(sprintf("Creating %d Mandelbrot tiles:", n), appendLF = FALSE) Creating 4 Mandelbrot tiles: > counts <- lapply(seq_along(Cs), FUN=function(ii) { + message(" ", ii, appendLF = FALSE) + C <- Cs[[ii]] + future({ + message(sprintf("Calculating tile #%d of %d ...", ii, n), appendLF = FALSE) + fit <- mandelbrot(C) + + ## Emulate slowness + delay(fit) + + message(" done") + fit + }, lazy = TRUE) + }) 1[17:27:04.649] getGlobalsAndPackages() ... [17:27:04.650] Searching for globals... [17:27:04.659] - globals found: [9] '{', 'message', 'sprintf', 'ii', 'n', '<-', 'mandelbrot', 'C', 'delay' [17:27:04.660] Searching for globals ... DONE [17:27:04.660] Resolving globals: FALSE [17:27:04.662] The total size of the 4 globals is 57.41 KiB (58785 bytes) [17:27:04.663] The total size of the 4 globals exported for future expression ('{; message(sprintf("Calculating tile #%d of %d ...", ii, n),; appendLF = FALSE); fit <- mandelbrot(C); delay(fit); message(" done"); fit; }') is 57.41 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). The three largest globals are 'delay' (47.33 KiB of class 'function'), 'C' (10.00 KiB of class 'complex') and 'ii' (35 bytes of class 'numeric') [17:27:04.664] - globals: [4] 'ii', 'n', 'C', 'delay' [17:27:04.664] - packages: [1] 'future' [17:27:04.664] getGlobalsAndPackages() ... DONE 2[17:27:04.674] getGlobalsAndPackages() ... [17:27:04.675] Searching for globals... [17:27:04.684] - globals found: [9] '{', 'message', 'sprintf', 'ii', 'n', '<-', 'mandelbrot', 'C', 'delay' [17:27:04.684] Searching for globals ... DONE [17:27:04.684] Resolving globals: FALSE [17:27:04.686] The total size of the 4 globals is 57.41 KiB (58785 bytes) [17:27:04.687] The total size of the 4 globals exported for future expression ('{; message(sprintf("Calculating tile #%d of %d ...", ii, n),; appendLF = FALSE); fit <- mandelbrot(C); delay(fit); message(" done"); fit; }') is 57.41 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). The three largest globals are 'delay' (47.33 KiB of class 'function'), 'C' (10.00 KiB of class 'complex') and 'ii' (35 bytes of class 'numeric') [17:27:04.687] - globals: [4] 'ii', 'n', 'C', 'delay' [17:27:04.688] - packages: [1] 'future' [17:27:04.688] getGlobalsAndPackages() ... DONE 3[17:27:04.689] getGlobalsAndPackages() ... [17:27:04.689] Searching for globals... [17:27:04.697] - globals found: [9] '{', 'message', 'sprintf', 'ii', 'n', '<-', 'mandelbrot', 'C', 'delay' [17:27:04.698] Searching for globals ... DONE [17:27:04.698] Resolving globals: FALSE [17:27:04.700] The total size of the 4 globals is 57.41 KiB (58785 bytes) [17:27:04.701] The total size of the 4 globals exported for future expression ('{; message(sprintf("Calculating tile #%d of %d ...", ii, n),; appendLF = FALSE); fit <- mandelbrot(C); delay(fit); message(" done"); fit; }') is 57.41 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). The three largest globals are 'delay' (47.33 KiB of class 'function'), 'C' (10.00 KiB of class 'complex') and 'ii' (35 bytes of class 'numeric') [17:27:04.701] - globals: [4] 'ii', 'n', 'C', 'delay' [17:27:04.701] - packages: [1] 'future' [17:27:04.702] getGlobalsAndPackages() ... DONE 4[17:27:04.703] getGlobalsAndPackages() ... [17:27:04.703] Searching for globals... [17:27:04.711] - globals found: [9] '{', 'message', 'sprintf', 'ii', 'n', '<-', 'mandelbrot', 'C', 'delay' [17:27:04.711] Searching for globals ... DONE [17:27:04.712] Resolving globals: FALSE [17:27:04.713] The total size of the 4 globals is 57.41 KiB (58785 bytes) [17:27:04.714] The total size of the 4 globals exported for future expression ('{; message(sprintf("Calculating tile #%d of %d ...", ii, n),; appendLF = FALSE); fit <- mandelbrot(C); delay(fit); message(" done"); fit; }') is 57.41 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). The three largest globals are 'delay' (47.33 KiB of class 'function'), 'C' (10.00 KiB of class 'complex') and 'ii' (35 bytes of class 'numeric') [17:27:04.714] - globals: [4] 'ii', 'n', 'C', 'delay' [17:27:04.715] - packages: [1] 'future' [17:27:04.715] getGlobalsAndPackages() ... DONE > message(".") . > ## Calculate and plot tiles > repeat { + counts <- plot_what_is_done(counts) + if (!any(sapply(counts, FUN = inherits, "Future"))) break + } [17:27:04.737] resolved() for 'Future' ... [17:27:04.738] - state: 'created' [17:27:04.738] - run: TRUE [17:27:04.738] - run() ... [17:27:04.739] run() for 'Future' ... [17:27:04.739] - state: 'created' [17:27:04.739] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:04.740] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:04.741] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:04.741] - Field: 'label' [17:27:04.741] - Field: 'local' [17:27:04.742] - Field: 'owner' [17:27:04.742] - Field: 'envir' [17:27:04.742] - Field: 'packages' [17:27:04.743] - Field: 'gc' [17:27:04.743] - Field: 'conditions' [17:27:04.743] - Field: 'expr' [17:27:04.744] - Field: 'uuid' [17:27:04.744] - Field: 'seed' [17:27:04.744] - Field: 'version' [17:27:04.745] - Field: 'result' [17:27:04.745] - Field: 'asynchronous' [17:27:04.745] - Field: 'calls' [17:27:04.746] - Field: 'globals' [17:27:04.746] - Field: 'stdout' [17:27:04.746] - Field: 'earlySignal' [17:27:04.747] - Field: 'lazy' [17:27:04.747] - Field: 'state' [17:27:04.747] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:04.748] - Launch lazy future ... [17:27:04.748] Packages needed by the future expression (n = 1): 'future' [17:27:04.749] Packages needed by future strategies (n = 0): [17:27:04.750] { [17:27:04.750] { [17:27:04.750] { [17:27:04.750] ...future.startTime <- base::Sys.time() [17:27:04.750] { [17:27:04.750] { [17:27:04.750] { [17:27:04.750] { [17:27:04.750] base::local({ [17:27:04.750] has_future <- base::requireNamespace("future", [17:27:04.750] quietly = TRUE) [17:27:04.750] if (has_future) { [17:27:04.750] ns <- base::getNamespace("future") [17:27:04.750] version <- ns[[".package"]][["version"]] [17:27:04.750] if (is.null(version)) [17:27:04.750] version <- utils::packageVersion("future") [17:27:04.750] } [17:27:04.750] else { [17:27:04.750] version <- NULL [17:27:04.750] } [17:27:04.750] if (!has_future || version < "1.8.0") { [17:27:04.750] info <- base::c(r_version = base::gsub("R version ", [17:27:04.750] "", base::R.version$version.string), [17:27:04.750] platform = base::sprintf("%s (%s-bit)", [17:27:04.750] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:04.750] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:04.750] "release", "version")], collapse = " "), [17:27:04.750] hostname = base::Sys.info()[["nodename"]]) [17:27:04.750] info <- base::sprintf("%s: %s", base::names(info), [17:27:04.750] info) [17:27:04.750] info <- base::paste(info, collapse = "; ") [17:27:04.750] if (!has_future) { [17:27:04.750] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:04.750] info) [17:27:04.750] } [17:27:04.750] else { [17:27:04.750] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:04.750] info, version) [17:27:04.750] } [17:27:04.750] base::stop(msg) [17:27:04.750] } [17:27:04.750] }) [17:27:04.750] } [17:27:04.750] base::local({ [17:27:04.750] for (pkg in "future") { [17:27:04.750] base::loadNamespace(pkg) [17:27:04.750] base::library(pkg, character.only = TRUE) [17:27:04.750] } [17:27:04.750] }) [17:27:04.750] } [17:27:04.750] ...future.strategy.old <- future::plan("list") [17:27:04.750] options(future.plan = NULL) [17:27:04.750] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.750] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:04.750] } [17:27:04.750] ...future.workdir <- getwd() [17:27:04.750] } [17:27:04.750] ...future.oldOptions <- base::as.list(base::.Options) [17:27:04.750] ...future.oldEnvVars <- base::Sys.getenv() [17:27:04.750] } [17:27:04.750] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:04.750] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:04.750] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:04.750] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:04.750] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:04.750] future.stdout.windows.reencode = NULL, width = 80L) [17:27:04.750] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:04.750] base::names(...future.oldOptions)) [17:27:04.750] } [17:27:04.750] if (FALSE) { [17:27:04.750] } [17:27:04.750] else { [17:27:04.750] if (TRUE) { [17:27:04.750] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:04.750] open = "w") [17:27:04.750] } [17:27:04.750] else { [17:27:04.750] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:04.750] windows = "NUL", "/dev/null"), open = "w") [17:27:04.750] } [17:27:04.750] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:04.750] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:04.750] base::sink(type = "output", split = FALSE) [17:27:04.750] base::close(...future.stdout) [17:27:04.750] }, add = TRUE) [17:27:04.750] } [17:27:04.750] ...future.frame <- base::sys.nframe() [17:27:04.750] ...future.conditions <- base::list() [17:27:04.750] ...future.rng <- base::globalenv()$.Random.seed [17:27:04.750] if (FALSE) { [17:27:04.750] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:04.750] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:04.750] } [17:27:04.750] ...future.result <- base::tryCatch({ [17:27:04.750] base::withCallingHandlers({ [17:27:04.750] ...future.value <- base::withVisible(base::local({ [17:27:04.750] message(sprintf("Calculating tile #%d of %d ...", [17:27:04.750] ii, n), appendLF = FALSE) [17:27:04.750] fit <- mandelbrot(C) [17:27:04.750] delay(fit) [17:27:04.750] message(" done") [17:27:04.750] fit [17:27:04.750] })) [17:27:04.750] future::FutureResult(value = ...future.value$value, [17:27:04.750] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.750] ...future.rng), globalenv = if (FALSE) [17:27:04.750] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:04.750] ...future.globalenv.names)) [17:27:04.750] else NULL, started = ...future.startTime, version = "1.8") [17:27:04.750] }, condition = base::local({ [17:27:04.750] c <- base::c [17:27:04.750] inherits <- base::inherits [17:27:04.750] invokeRestart <- base::invokeRestart [17:27:04.750] length <- base::length [17:27:04.750] list <- base::list [17:27:04.750] seq.int <- base::seq.int [17:27:04.750] signalCondition <- base::signalCondition [17:27:04.750] sys.calls <- base::sys.calls [17:27:04.750] `[[` <- base::`[[` [17:27:04.750] `+` <- base::`+` [17:27:04.750] `<<-` <- base::`<<-` [17:27:04.750] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:04.750] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:04.750] 3L)] [17:27:04.750] } [17:27:04.750] function(cond) { [17:27:04.750] is_error <- inherits(cond, "error") [17:27:04.750] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:04.750] NULL) [17:27:04.750] if (is_error) { [17:27:04.750] sessionInformation <- function() { [17:27:04.750] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:04.750] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:04.750] search = base::search(), system = base::Sys.info()) [17:27:04.750] } [17:27:04.750] ...future.conditions[[length(...future.conditions) + [17:27:04.750] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:04.750] cond$call), session = sessionInformation(), [17:27:04.750] timestamp = base::Sys.time(), signaled = 0L) [17:27:04.750] signalCondition(cond) [17:27:04.750] } [17:27:04.750] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:04.750] "immediateCondition"))) { [17:27:04.750] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:04.750] ...future.conditions[[length(...future.conditions) + [17:27:04.750] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:04.750] if (TRUE && !signal) { [17:27:04.750] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.750] { [17:27:04.750] inherits <- base::inherits [17:27:04.750] invokeRestart <- base::invokeRestart [17:27:04.750] is.null <- base::is.null [17:27:04.750] muffled <- FALSE [17:27:04.750] if (inherits(cond, "message")) { [17:27:04.750] muffled <- grepl(pattern, "muffleMessage") [17:27:04.750] if (muffled) [17:27:04.750] invokeRestart("muffleMessage") [17:27:04.750] } [17:27:04.750] else if (inherits(cond, "warning")) { [17:27:04.750] muffled <- grepl(pattern, "muffleWarning") [17:27:04.750] if (muffled) [17:27:04.750] invokeRestart("muffleWarning") [17:27:04.750] } [17:27:04.750] else if (inherits(cond, "condition")) { [17:27:04.750] if (!is.null(pattern)) { [17:27:04.750] computeRestarts <- base::computeRestarts [17:27:04.750] grepl <- base::grepl [17:27:04.750] restarts <- computeRestarts(cond) [17:27:04.750] for (restart in restarts) { [17:27:04.750] name <- restart$name [17:27:04.750] if (is.null(name)) [17:27:04.750] next [17:27:04.750] if (!grepl(pattern, name)) [17:27:04.750] next [17:27:04.750] invokeRestart(restart) [17:27:04.750] muffled <- TRUE [17:27:04.750] break [17:27:04.750] } [17:27:04.750] } [17:27:04.750] } [17:27:04.750] invisible(muffled) [17:27:04.750] } [17:27:04.750] muffleCondition(cond, pattern = "^muffle") [17:27:04.750] } [17:27:04.750] } [17:27:04.750] else { [17:27:04.750] if (TRUE) { [17:27:04.750] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.750] { [17:27:04.750] inherits <- base::inherits [17:27:04.750] invokeRestart <- base::invokeRestart [17:27:04.750] is.null <- base::is.null [17:27:04.750] muffled <- FALSE [17:27:04.750] if (inherits(cond, "message")) { [17:27:04.750] muffled <- grepl(pattern, "muffleMessage") [17:27:04.750] if (muffled) [17:27:04.750] invokeRestart("muffleMessage") [17:27:04.750] } [17:27:04.750] else if (inherits(cond, "warning")) { [17:27:04.750] muffled <- grepl(pattern, "muffleWarning") [17:27:04.750] if (muffled) [17:27:04.750] invokeRestart("muffleWarning") [17:27:04.750] } [17:27:04.750] else if (inherits(cond, "condition")) { [17:27:04.750] if (!is.null(pattern)) { [17:27:04.750] computeRestarts <- base::computeRestarts [17:27:04.750] grepl <- base::grepl [17:27:04.750] restarts <- computeRestarts(cond) [17:27:04.750] for (restart in restarts) { [17:27:04.750] name <- restart$name [17:27:04.750] if (is.null(name)) [17:27:04.750] next [17:27:04.750] if (!grepl(pattern, name)) [17:27:04.750] next [17:27:04.750] invokeRestart(restart) [17:27:04.750] muffled <- TRUE [17:27:04.750] break [17:27:04.750] } [17:27:04.750] } [17:27:04.750] } [17:27:04.750] invisible(muffled) [17:27:04.750] } [17:27:04.750] muffleCondition(cond, pattern = "^muffle") [17:27:04.750] } [17:27:04.750] } [17:27:04.750] } [17:27:04.750] })) [17:27:04.750] }, error = function(ex) { [17:27:04.750] base::structure(base::list(value = NULL, visible = NULL, [17:27:04.750] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.750] ...future.rng), started = ...future.startTime, [17:27:04.750] finished = Sys.time(), session_uuid = NA_character_, [17:27:04.750] version = "1.8"), class = "FutureResult") [17:27:04.750] }, finally = { [17:27:04.750] if (!identical(...future.workdir, getwd())) [17:27:04.750] setwd(...future.workdir) [17:27:04.750] { [17:27:04.750] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:04.750] ...future.oldOptions$nwarnings <- NULL [17:27:04.750] } [17:27:04.750] base::options(...future.oldOptions) [17:27:04.750] if (.Platform$OS.type == "windows") { [17:27:04.750] old_names <- names(...future.oldEnvVars) [17:27:04.750] envs <- base::Sys.getenv() [17:27:04.750] names <- names(envs) [17:27:04.750] common <- intersect(names, old_names) [17:27:04.750] added <- setdiff(names, old_names) [17:27:04.750] removed <- setdiff(old_names, names) [17:27:04.750] changed <- common[...future.oldEnvVars[common] != [17:27:04.750] envs[common]] [17:27:04.750] NAMES <- toupper(changed) [17:27:04.750] args <- list() [17:27:04.750] for (kk in seq_along(NAMES)) { [17:27:04.750] name <- changed[[kk]] [17:27:04.750] NAME <- NAMES[[kk]] [17:27:04.750] if (name != NAME && is.element(NAME, old_names)) [17:27:04.750] next [17:27:04.750] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.750] } [17:27:04.750] NAMES <- toupper(added) [17:27:04.750] for (kk in seq_along(NAMES)) { [17:27:04.750] name <- added[[kk]] [17:27:04.750] NAME <- NAMES[[kk]] [17:27:04.750] if (name != NAME && is.element(NAME, old_names)) [17:27:04.750] next [17:27:04.750] args[[name]] <- "" [17:27:04.750] } [17:27:04.750] NAMES <- toupper(removed) [17:27:04.750] for (kk in seq_along(NAMES)) { [17:27:04.750] name <- removed[[kk]] [17:27:04.750] NAME <- NAMES[[kk]] [17:27:04.750] if (name != NAME && is.element(NAME, old_names)) [17:27:04.750] next [17:27:04.750] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.750] } [17:27:04.750] if (length(args) > 0) [17:27:04.750] base::do.call(base::Sys.setenv, args = args) [17:27:04.750] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:04.750] } [17:27:04.750] else { [17:27:04.750] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:04.750] } [17:27:04.750] { [17:27:04.750] if (base::length(...future.futureOptionsAdded) > [17:27:04.750] 0L) { [17:27:04.750] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:04.750] base::names(opts) <- ...future.futureOptionsAdded [17:27:04.750] base::options(opts) [17:27:04.750] } [17:27:04.750] { [17:27:04.750] { [17:27:04.750] NULL [17:27:04.750] RNGkind("Mersenne-Twister") [17:27:04.750] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:04.750] inherits = FALSE) [17:27:04.750] } [17:27:04.750] options(future.plan = NULL) [17:27:04.750] if (is.na(NA_character_)) [17:27:04.750] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.750] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:04.750] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:04.750] .init = FALSE) [17:27:04.750] } [17:27:04.750] } [17:27:04.750] } [17:27:04.750] }) [17:27:04.750] if (TRUE) { [17:27:04.750] base::sink(type = "output", split = FALSE) [17:27:04.750] if (TRUE) { [17:27:04.750] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:04.750] } [17:27:04.750] else { [17:27:04.750] ...future.result["stdout"] <- base::list(NULL) [17:27:04.750] } [17:27:04.750] base::close(...future.stdout) [17:27:04.750] ...future.stdout <- NULL [17:27:04.750] } [17:27:04.750] ...future.result$conditions <- ...future.conditions [17:27:04.750] ...future.result$finished <- base::Sys.time() [17:27:04.750] ...future.result [17:27:04.750] } [17:27:04.757] assign_globals() ... [17:27:04.757] List of 4 [17:27:04.757] $ ii : int 1 [17:27:04.757] $ n : int 4 [17:27:04.757] $ C : cplx [1:25, 1:25] -2.25-1.5i -2.25-1.44i -2.25-1.38i ... [17:27:04.757] ..- attr(*, "region")=List of 2 [17:27:04.757] .. ..$ xrange: num [1:2] -2.25 -0.781 [17:27:04.757] .. ..$ yrange: num [1:2] -1.5 -0.0306 [17:27:04.757] ..- attr(*, "tile")= int [1:2] 1 1 [17:27:04.757] $ delay:function (counts) [17:27:04.757] ..- attr(*, "srcref")= 'srcref' int [1:8] 41 12 41 30 12 30 41 41 [17:27:04.757] .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' [17:27:04.757] - attr(*, "where")=List of 4 [17:27:04.757] ..$ ii : [17:27:04.757] ..$ n : [17:27:04.757] ..$ C : [17:27:04.757] ..$ delay: [17:27:04.757] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:04.757] - attr(*, "resolved")= logi FALSE [17:27:04.757] - attr(*, "total_size")= int 58785 [17:27:04.757] - attr(*, "already-done")= logi TRUE [17:27:04.770] - copied 'ii' to environment [17:27:04.771] - copied 'n' to environment [17:27:04.771] - copied 'C' to environment [17:27:04.771] - reassign environment for 'delay' [17:27:04.772] - copied 'delay' to environment [17:27:04.772] assign_globals() ... done [17:27:04.773] plan(): Setting new future strategy stack: [17:27:04.773] List of future strategies: [17:27:04.773] 1. sequential: [17:27:04.773] - args: function (..., envir = parent.frame(), workers = "") [17:27:04.773] - tweaked: FALSE [17:27:04.773] - call: NULL [17:27:04.774] plan(): nbrOfWorkers() = 1 [17:27:04.816] plan(): Setting new future strategy stack: [17:27:04.816] List of future strategies: [17:27:04.816] 1. sequential: [17:27:04.816] - args: function (..., envir = parent.frame(), workers = "") [17:27:04.816] - tweaked: FALSE [17:27:04.816] - call: plan(strategy) [17:27:04.817] plan(): nbrOfWorkers() = 1 [17:27:04.817] SequentialFuture started (and completed) [17:27:04.817] signalConditions() ... [17:27:04.817] - include = 'immediateCondition' [17:27:04.818] - exclude = [17:27:04.818] - resignal = FALSE [17:27:04.818] - Number of conditions: 2 [17:27:04.818] signalConditions() ... done [17:27:04.818] - Launch lazy future ... done [17:27:04.819] run() for 'SequentialFuture' ... done [17:27:04.819] - run() ... done [17:27:04.819] - resolved() ... [17:27:04.819] resolved() for 'SequentialFuture' ... [17:27:04.819] - state: 'finished' [17:27:04.820] - run: TRUE [17:27:04.820] - result: 'FutureResult' [17:27:04.820] resolved() for 'SequentialFuture' ... done [17:27:04.820] - resolved: TRUE [17:27:04.821] - resolved() ... done [17:27:04.821] resolved() for 'SequentialFuture' ... done Plotting tile #1 of 4 ... [17:27:04.821] signalConditions() ... [17:27:04.822] - include = 'immediateCondition' [17:27:04.822] - exclude = [17:27:04.822] - resignal = FALSE [17:27:04.822] - Number of conditions: 2 [17:27:04.823] signalConditions() ... done [17:27:04.823] Future state: 'finished' [17:27:04.823] signalConditions() ... [17:27:04.823] - include = 'condition' [17:27:04.823] - exclude = 'immediateCondition' [17:27:04.824] - resignal = TRUE [17:27:04.824] - Number of conditions: 2 [17:27:04.824] - Condition #1: 'simpleMessage', 'message', 'condition' Calculating tile #1 of 4 ...[17:27:04.824] - Condition #2: 'simpleMessage', 'message', 'condition' done [17:27:04.825] signalConditions() ... done [17:27:04.827] resolved() for 'Future' ... [17:27:04.827] - state: 'created' [17:27:04.827] - run: TRUE [17:27:04.827] - run() ... [17:27:04.828] run() for 'Future' ... [17:27:04.828] - state: 'created' [17:27:04.828] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:04.829] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:04.829] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:04.829] - Field: 'label' [17:27:04.830] - Field: 'local' [17:27:04.830] - Field: 'owner' [17:27:04.831] - Field: 'envir' [17:27:04.831] - Field: 'packages' [17:27:04.831] - Field: 'gc' [17:27:04.832] - Field: 'conditions' [17:27:04.832] - Field: 'expr' [17:27:04.833] - Field: 'uuid' [17:27:04.833] - Field: 'seed' [17:27:04.833] - Field: 'version' [17:27:04.834] - Field: 'result' [17:27:04.834] - Field: 'asynchronous' [17:27:04.834] - Field: 'calls' [17:27:04.835] - Field: 'globals' [17:27:04.835] - Field: 'stdout' [17:27:04.836] - Field: 'earlySignal' [17:27:04.836] - Field: 'lazy' [17:27:04.836] - Field: 'state' [17:27:04.837] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:04.837] - Launch lazy future ... [17:27:04.838] Packages needed by the future expression (n = 1): 'future' [17:27:04.838] Packages needed by future strategies (n = 0): [17:27:04.840] { [17:27:04.840] { [17:27:04.840] { [17:27:04.840] ...future.startTime <- base::Sys.time() [17:27:04.840] { [17:27:04.840] { [17:27:04.840] { [17:27:04.840] { [17:27:04.840] base::local({ [17:27:04.840] has_future <- base::requireNamespace("future", [17:27:04.840] quietly = TRUE) [17:27:04.840] if (has_future) { [17:27:04.840] ns <- base::getNamespace("future") [17:27:04.840] version <- ns[[".package"]][["version"]] [17:27:04.840] if (is.null(version)) [17:27:04.840] version <- utils::packageVersion("future") [17:27:04.840] } [17:27:04.840] else { [17:27:04.840] version <- NULL [17:27:04.840] } [17:27:04.840] if (!has_future || version < "1.8.0") { [17:27:04.840] info <- base::c(r_version = base::gsub("R version ", [17:27:04.840] "", base::R.version$version.string), [17:27:04.840] platform = base::sprintf("%s (%s-bit)", [17:27:04.840] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:04.840] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:04.840] "release", "version")], collapse = " "), [17:27:04.840] hostname = base::Sys.info()[["nodename"]]) [17:27:04.840] info <- base::sprintf("%s: %s", base::names(info), [17:27:04.840] info) [17:27:04.840] info <- base::paste(info, collapse = "; ") [17:27:04.840] if (!has_future) { [17:27:04.840] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:04.840] info) [17:27:04.840] } [17:27:04.840] else { [17:27:04.840] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:04.840] info, version) [17:27:04.840] } [17:27:04.840] base::stop(msg) [17:27:04.840] } [17:27:04.840] }) [17:27:04.840] } [17:27:04.840] base::local({ [17:27:04.840] for (pkg in "future") { [17:27:04.840] base::loadNamespace(pkg) [17:27:04.840] base::library(pkg, character.only = TRUE) [17:27:04.840] } [17:27:04.840] }) [17:27:04.840] } [17:27:04.840] ...future.strategy.old <- future::plan("list") [17:27:04.840] options(future.plan = NULL) [17:27:04.840] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.840] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:04.840] } [17:27:04.840] ...future.workdir <- getwd() [17:27:04.840] } [17:27:04.840] ...future.oldOptions <- base::as.list(base::.Options) [17:27:04.840] ...future.oldEnvVars <- base::Sys.getenv() [17:27:04.840] } [17:27:04.840] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:04.840] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:04.840] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:04.840] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:04.840] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:04.840] future.stdout.windows.reencode = NULL, width = 80L) [17:27:04.840] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:04.840] base::names(...future.oldOptions)) [17:27:04.840] } [17:27:04.840] if (FALSE) { [17:27:04.840] } [17:27:04.840] else { [17:27:04.840] if (TRUE) { [17:27:04.840] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:04.840] open = "w") [17:27:04.840] } [17:27:04.840] else { [17:27:04.840] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:04.840] windows = "NUL", "/dev/null"), open = "w") [17:27:04.840] } [17:27:04.840] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:04.840] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:04.840] base::sink(type = "output", split = FALSE) [17:27:04.840] base::close(...future.stdout) [17:27:04.840] }, add = TRUE) [17:27:04.840] } [17:27:04.840] ...future.frame <- base::sys.nframe() [17:27:04.840] ...future.conditions <- base::list() [17:27:04.840] ...future.rng <- base::globalenv()$.Random.seed [17:27:04.840] if (FALSE) { [17:27:04.840] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:04.840] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:04.840] } [17:27:04.840] ...future.result <- base::tryCatch({ [17:27:04.840] base::withCallingHandlers({ [17:27:04.840] ...future.value <- base::withVisible(base::local({ [17:27:04.840] message(sprintf("Calculating tile #%d of %d ...", [17:27:04.840] ii, n), appendLF = FALSE) [17:27:04.840] fit <- mandelbrot(C) [17:27:04.840] delay(fit) [17:27:04.840] message(" done") [17:27:04.840] fit [17:27:04.840] })) [17:27:04.840] future::FutureResult(value = ...future.value$value, [17:27:04.840] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.840] ...future.rng), globalenv = if (FALSE) [17:27:04.840] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:04.840] ...future.globalenv.names)) [17:27:04.840] else NULL, started = ...future.startTime, version = "1.8") [17:27:04.840] }, condition = base::local({ [17:27:04.840] c <- base::c [17:27:04.840] inherits <- base::inherits [17:27:04.840] invokeRestart <- base::invokeRestart [17:27:04.840] length <- base::length [17:27:04.840] list <- base::list [17:27:04.840] seq.int <- base::seq.int [17:27:04.840] signalCondition <- base::signalCondition [17:27:04.840] sys.calls <- base::sys.calls [17:27:04.840] `[[` <- base::`[[` [17:27:04.840] `+` <- base::`+` [17:27:04.840] `<<-` <- base::`<<-` [17:27:04.840] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:04.840] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:04.840] 3L)] [17:27:04.840] } [17:27:04.840] function(cond) { [17:27:04.840] is_error <- inherits(cond, "error") [17:27:04.840] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:04.840] NULL) [17:27:04.840] if (is_error) { [17:27:04.840] sessionInformation <- function() { [17:27:04.840] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:04.840] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:04.840] search = base::search(), system = base::Sys.info()) [17:27:04.840] } [17:27:04.840] ...future.conditions[[length(...future.conditions) + [17:27:04.840] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:04.840] cond$call), session = sessionInformation(), [17:27:04.840] timestamp = base::Sys.time(), signaled = 0L) [17:27:04.840] signalCondition(cond) [17:27:04.840] } [17:27:04.840] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:04.840] "immediateCondition"))) { [17:27:04.840] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:04.840] ...future.conditions[[length(...future.conditions) + [17:27:04.840] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:04.840] if (TRUE && !signal) { [17:27:04.840] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.840] { [17:27:04.840] inherits <- base::inherits [17:27:04.840] invokeRestart <- base::invokeRestart [17:27:04.840] is.null <- base::is.null [17:27:04.840] muffled <- FALSE [17:27:04.840] if (inherits(cond, "message")) { [17:27:04.840] muffled <- grepl(pattern, "muffleMessage") [17:27:04.840] if (muffled) [17:27:04.840] invokeRestart("muffleMessage") [17:27:04.840] } [17:27:04.840] else if (inherits(cond, "warning")) { [17:27:04.840] muffled <- grepl(pattern, "muffleWarning") [17:27:04.840] if (muffled) [17:27:04.840] invokeRestart("muffleWarning") [17:27:04.840] } [17:27:04.840] else if (inherits(cond, "condition")) { [17:27:04.840] if (!is.null(pattern)) { [17:27:04.840] computeRestarts <- base::computeRestarts [17:27:04.840] grepl <- base::grepl [17:27:04.840] restarts <- computeRestarts(cond) [17:27:04.840] for (restart in restarts) { [17:27:04.840] name <- restart$name [17:27:04.840] if (is.null(name)) [17:27:04.840] next [17:27:04.840] if (!grepl(pattern, name)) [17:27:04.840] next [17:27:04.840] invokeRestart(restart) [17:27:04.840] muffled <- TRUE [17:27:04.840] break [17:27:04.840] } [17:27:04.840] } [17:27:04.840] } [17:27:04.840] invisible(muffled) [17:27:04.840] } [17:27:04.840] muffleCondition(cond, pattern = "^muffle") [17:27:04.840] } [17:27:04.840] } [17:27:04.840] else { [17:27:04.840] if (TRUE) { [17:27:04.840] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.840] { [17:27:04.840] inherits <- base::inherits [17:27:04.840] invokeRestart <- base::invokeRestart [17:27:04.840] is.null <- base::is.null [17:27:04.840] muffled <- FALSE [17:27:04.840] if (inherits(cond, "message")) { [17:27:04.840] muffled <- grepl(pattern, "muffleMessage") [17:27:04.840] if (muffled) [17:27:04.840] invokeRestart("muffleMessage") [17:27:04.840] } [17:27:04.840] else if (inherits(cond, "warning")) { [17:27:04.840] muffled <- grepl(pattern, "muffleWarning") [17:27:04.840] if (muffled) [17:27:04.840] invokeRestart("muffleWarning") [17:27:04.840] } [17:27:04.840] else if (inherits(cond, "condition")) { [17:27:04.840] if (!is.null(pattern)) { [17:27:04.840] computeRestarts <- base::computeRestarts [17:27:04.840] grepl <- base::grepl [17:27:04.840] restarts <- computeRestarts(cond) [17:27:04.840] for (restart in restarts) { [17:27:04.840] name <- restart$name [17:27:04.840] if (is.null(name)) [17:27:04.840] next [17:27:04.840] if (!grepl(pattern, name)) [17:27:04.840] next [17:27:04.840] invokeRestart(restart) [17:27:04.840] muffled <- TRUE [17:27:04.840] break [17:27:04.840] } [17:27:04.840] } [17:27:04.840] } [17:27:04.840] invisible(muffled) [17:27:04.840] } [17:27:04.840] muffleCondition(cond, pattern = "^muffle") [17:27:04.840] } [17:27:04.840] } [17:27:04.840] } [17:27:04.840] })) [17:27:04.840] }, error = function(ex) { [17:27:04.840] base::structure(base::list(value = NULL, visible = NULL, [17:27:04.840] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.840] ...future.rng), started = ...future.startTime, [17:27:04.840] finished = Sys.time(), session_uuid = NA_character_, [17:27:04.840] version = "1.8"), class = "FutureResult") [17:27:04.840] }, finally = { [17:27:04.840] if (!identical(...future.workdir, getwd())) [17:27:04.840] setwd(...future.workdir) [17:27:04.840] { [17:27:04.840] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:04.840] ...future.oldOptions$nwarnings <- NULL [17:27:04.840] } [17:27:04.840] base::options(...future.oldOptions) [17:27:04.840] if (.Platform$OS.type == "windows") { [17:27:04.840] old_names <- names(...future.oldEnvVars) [17:27:04.840] envs <- base::Sys.getenv() [17:27:04.840] names <- names(envs) [17:27:04.840] common <- intersect(names, old_names) [17:27:04.840] added <- setdiff(names, old_names) [17:27:04.840] removed <- setdiff(old_names, names) [17:27:04.840] changed <- common[...future.oldEnvVars[common] != [17:27:04.840] envs[common]] [17:27:04.840] NAMES <- toupper(changed) [17:27:04.840] args <- list() [17:27:04.840] for (kk in seq_along(NAMES)) { [17:27:04.840] name <- changed[[kk]] [17:27:04.840] NAME <- NAMES[[kk]] [17:27:04.840] if (name != NAME && is.element(NAME, old_names)) [17:27:04.840] next [17:27:04.840] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.840] } [17:27:04.840] NAMES <- toupper(added) [17:27:04.840] for (kk in seq_along(NAMES)) { [17:27:04.840] name <- added[[kk]] [17:27:04.840] NAME <- NAMES[[kk]] [17:27:04.840] if (name != NAME && is.element(NAME, old_names)) [17:27:04.840] next [17:27:04.840] args[[name]] <- "" [17:27:04.840] } [17:27:04.840] NAMES <- toupper(removed) [17:27:04.840] for (kk in seq_along(NAMES)) { [17:27:04.840] name <- removed[[kk]] [17:27:04.840] NAME <- NAMES[[kk]] [17:27:04.840] if (name != NAME && is.element(NAME, old_names)) [17:27:04.840] next [17:27:04.840] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.840] } [17:27:04.840] if (length(args) > 0) [17:27:04.840] base::do.call(base::Sys.setenv, args = args) [17:27:04.840] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:04.840] } [17:27:04.840] else { [17:27:04.840] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:04.840] } [17:27:04.840] { [17:27:04.840] if (base::length(...future.futureOptionsAdded) > [17:27:04.840] 0L) { [17:27:04.840] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:04.840] base::names(opts) <- ...future.futureOptionsAdded [17:27:04.840] base::options(opts) [17:27:04.840] } [17:27:04.840] { [17:27:04.840] { [17:27:04.840] NULL [17:27:04.840] RNGkind("Mersenne-Twister") [17:27:04.840] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:04.840] inherits = FALSE) [17:27:04.840] } [17:27:04.840] options(future.plan = NULL) [17:27:04.840] if (is.na(NA_character_)) [17:27:04.840] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.840] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:04.840] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:04.840] .init = FALSE) [17:27:04.840] } [17:27:04.840] } [17:27:04.840] } [17:27:04.840] }) [17:27:04.840] if (TRUE) { [17:27:04.840] base::sink(type = "output", split = FALSE) [17:27:04.840] if (TRUE) { [17:27:04.840] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:04.840] } [17:27:04.840] else { [17:27:04.840] ...future.result["stdout"] <- base::list(NULL) [17:27:04.840] } [17:27:04.840] base::close(...future.stdout) [17:27:04.840] ...future.stdout <- NULL [17:27:04.840] } [17:27:04.840] ...future.result$conditions <- ...future.conditions [17:27:04.840] ...future.result$finished <- base::Sys.time() [17:27:04.840] ...future.result [17:27:04.840] } [17:27:04.847] assign_globals() ... [17:27:04.847] List of 4 [17:27:04.847] $ ii : int 2 [17:27:04.847] $ n : int 4 [17:27:04.847] $ C : cplx [1:25, 1:25] -0.719-1.5i -0.719-1.44i -0.719-1.38i ... [17:27:04.847] ..- attr(*, "region")=List of 2 [17:27:04.847] .. ..$ xrange: num [1:2] -0.719 0.75 [17:27:04.847] .. ..$ yrange: num [1:2] -1.5 -0.0306 [17:27:04.847] ..- attr(*, "tile")= int [1:2] 1 2 [17:27:04.847] $ delay:function (counts) [17:27:04.847] ..- attr(*, "srcref")= 'srcref' int [1:8] 41 12 41 30 12 30 41 41 [17:27:04.847] .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' [17:27:04.847] - attr(*, "where")=List of 4 [17:27:04.847] ..$ ii : [17:27:04.847] ..$ n : [17:27:04.847] ..$ C : [17:27:04.847] ..$ delay: [17:27:04.847] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:04.847] - attr(*, "resolved")= logi FALSE [17:27:04.847] - attr(*, "total_size")= int 58785 [17:27:04.847] - attr(*, "already-done")= logi TRUE [17:27:04.862] - copied 'ii' to environment [17:27:04.862] - copied 'n' to environment [17:27:04.862] - copied 'C' to environment [17:27:04.863] - reassign environment for 'delay' [17:27:04.863] - copied 'delay' to environment [17:27:04.863] assign_globals() ... done [17:27:04.865] plan(): Setting new future strategy stack: [17:27:04.865] List of future strategies: [17:27:04.865] 1. sequential: [17:27:04.865] - args: function (..., envir = parent.frame(), workers = "") [17:27:04.865] - tweaked: FALSE [17:27:04.865] - call: NULL [17:27:04.866] plan(): nbrOfWorkers() = 1 [17:27:04.905] plan(): Setting new future strategy stack: [17:27:04.906] List of future strategies: [17:27:04.906] 1. sequential: [17:27:04.906] - args: function (..., envir = parent.frame(), workers = "") [17:27:04.906] - tweaked: FALSE [17:27:04.906] - call: plan(strategy) [17:27:04.907] plan(): nbrOfWorkers() = 1 [17:27:04.907] SequentialFuture started (and completed) [17:27:04.908] signalConditions() ... [17:27:04.908] - include = 'immediateCondition' [17:27:04.908] - exclude = [17:27:04.909] - resignal = FALSE [17:27:04.909] - Number of conditions: 2 [17:27:04.909] signalConditions() ... done [17:27:04.910] - Launch lazy future ... done [17:27:04.910] run() for 'SequentialFuture' ... done [17:27:04.911] - run() ... done [17:27:04.911] - resolved() ... [17:27:04.911] resolved() for 'SequentialFuture' ... [17:27:04.912] - state: 'finished' [17:27:04.912] - run: TRUE [17:27:04.912] - result: 'FutureResult' [17:27:04.913] resolved() for 'SequentialFuture' ... done [17:27:04.913] - resolved: TRUE [17:27:04.913] - resolved() ... done [17:27:04.914] resolved() for 'SequentialFuture' ... done Plotting tile #2 of 4 ... [17:27:04.914] signalConditions() ... [17:27:04.915] - include = 'immediateCondition' [17:27:04.915] - exclude = [17:27:04.915] - resignal = FALSE [17:27:04.916] - Number of conditions: 2 [17:27:04.916] signalConditions() ... done [17:27:04.916] Future state: 'finished' [17:27:04.917] signalConditions() ... [17:27:04.917] - include = 'condition' [17:27:04.917] - exclude = 'immediateCondition' [17:27:04.918] - resignal = TRUE [17:27:04.918] - Number of conditions: 2 [17:27:04.918] - Condition #1: 'simpleMessage', 'message', 'condition' Calculating tile #2 of 4 ...[17:27:04.919] - Condition #2: 'simpleMessage', 'message', 'condition' done [17:27:04.919] signalConditions() ... done [17:27:04.921] resolved() for 'Future' ... [17:27:04.921] - state: 'created' [17:27:04.922] - run: TRUE [17:27:04.922] - run() ... [17:27:04.922] run() for 'Future' ... [17:27:04.923] - state: 'created' [17:27:04.924] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:04.925] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:04.925] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:04.925] - Field: 'label' [17:27:04.926] - Field: 'local' [17:27:04.927] - Field: 'owner' [17:27:04.927] - Field: 'envir' [17:27:04.927] - Field: 'packages' [17:27:04.928] - Field: 'gc' [17:27:04.928] - Field: 'conditions' [17:27:04.928] - Field: 'expr' [17:27:04.929] - Field: 'uuid' [17:27:04.929] - Field: 'seed' [17:27:04.929] - Field: 'version' [17:27:04.930] - Field: 'result' [17:27:04.930] - Field: 'asynchronous' [17:27:04.930] - Field: 'calls' [17:27:04.931] - Field: 'globals' [17:27:04.931] - Field: 'stdout' [17:27:04.931] - Field: 'earlySignal' [17:27:04.932] - Field: 'lazy' [17:27:04.932] - Field: 'state' [17:27:04.932] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:04.932] - Launch lazy future ... [17:27:04.933] Packages needed by the future expression (n = 1): 'future' [17:27:04.933] Packages needed by future strategies (n = 0): [17:27:04.934] { [17:27:04.934] { [17:27:04.934] { [17:27:04.934] ...future.startTime <- base::Sys.time() [17:27:04.934] { [17:27:04.934] { [17:27:04.934] { [17:27:04.934] { [17:27:04.934] base::local({ [17:27:04.934] has_future <- base::requireNamespace("future", [17:27:04.934] quietly = TRUE) [17:27:04.934] if (has_future) { [17:27:04.934] ns <- base::getNamespace("future") [17:27:04.934] version <- ns[[".package"]][["version"]] [17:27:04.934] if (is.null(version)) [17:27:04.934] version <- utils::packageVersion("future") [17:27:04.934] } [17:27:04.934] else { [17:27:04.934] version <- NULL [17:27:04.934] } [17:27:04.934] if (!has_future || version < "1.8.0") { [17:27:04.934] info <- base::c(r_version = base::gsub("R version ", [17:27:04.934] "", base::R.version$version.string), [17:27:04.934] platform = base::sprintf("%s (%s-bit)", [17:27:04.934] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:04.934] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:04.934] "release", "version")], collapse = " "), [17:27:04.934] hostname = base::Sys.info()[["nodename"]]) [17:27:04.934] info <- base::sprintf("%s: %s", base::names(info), [17:27:04.934] info) [17:27:04.934] info <- base::paste(info, collapse = "; ") [17:27:04.934] if (!has_future) { [17:27:04.934] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:04.934] info) [17:27:04.934] } [17:27:04.934] else { [17:27:04.934] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:04.934] info, version) [17:27:04.934] } [17:27:04.934] base::stop(msg) [17:27:04.934] } [17:27:04.934] }) [17:27:04.934] } [17:27:04.934] base::local({ [17:27:04.934] for (pkg in "future") { [17:27:04.934] base::loadNamespace(pkg) [17:27:04.934] base::library(pkg, character.only = TRUE) [17:27:04.934] } [17:27:04.934] }) [17:27:04.934] } [17:27:04.934] ...future.strategy.old <- future::plan("list") [17:27:04.934] options(future.plan = NULL) [17:27:04.934] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.934] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:04.934] } [17:27:04.934] ...future.workdir <- getwd() [17:27:04.934] } [17:27:04.934] ...future.oldOptions <- base::as.list(base::.Options) [17:27:04.934] ...future.oldEnvVars <- base::Sys.getenv() [17:27:04.934] } [17:27:04.934] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:04.934] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:04.934] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:04.934] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:04.934] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:04.934] future.stdout.windows.reencode = NULL, width = 80L) [17:27:04.934] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:04.934] base::names(...future.oldOptions)) [17:27:04.934] } [17:27:04.934] if (FALSE) { [17:27:04.934] } [17:27:04.934] else { [17:27:04.934] if (TRUE) { [17:27:04.934] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:04.934] open = "w") [17:27:04.934] } [17:27:04.934] else { [17:27:04.934] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:04.934] windows = "NUL", "/dev/null"), open = "w") [17:27:04.934] } [17:27:04.934] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:04.934] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:04.934] base::sink(type = "output", split = FALSE) [17:27:04.934] base::close(...future.stdout) [17:27:04.934] }, add = TRUE) [17:27:04.934] } [17:27:04.934] ...future.frame <- base::sys.nframe() [17:27:04.934] ...future.conditions <- base::list() [17:27:04.934] ...future.rng <- base::globalenv()$.Random.seed [17:27:04.934] if (FALSE) { [17:27:04.934] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:04.934] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:04.934] } [17:27:04.934] ...future.result <- base::tryCatch({ [17:27:04.934] base::withCallingHandlers({ [17:27:04.934] ...future.value <- base::withVisible(base::local({ [17:27:04.934] message(sprintf("Calculating tile #%d of %d ...", [17:27:04.934] ii, n), appendLF = FALSE) [17:27:04.934] fit <- mandelbrot(C) [17:27:04.934] delay(fit) [17:27:04.934] message(" done") [17:27:04.934] fit [17:27:04.934] })) [17:27:04.934] future::FutureResult(value = ...future.value$value, [17:27:04.934] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.934] ...future.rng), globalenv = if (FALSE) [17:27:04.934] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:04.934] ...future.globalenv.names)) [17:27:04.934] else NULL, started = ...future.startTime, version = "1.8") [17:27:04.934] }, condition = base::local({ [17:27:04.934] c <- base::c [17:27:04.934] inherits <- base::inherits [17:27:04.934] invokeRestart <- base::invokeRestart [17:27:04.934] length <- base::length [17:27:04.934] list <- base::list [17:27:04.934] seq.int <- base::seq.int [17:27:04.934] signalCondition <- base::signalCondition [17:27:04.934] sys.calls <- base::sys.calls [17:27:04.934] `[[` <- base::`[[` [17:27:04.934] `+` <- base::`+` [17:27:04.934] `<<-` <- base::`<<-` [17:27:04.934] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:04.934] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:04.934] 3L)] [17:27:04.934] } [17:27:04.934] function(cond) { [17:27:04.934] is_error <- inherits(cond, "error") [17:27:04.934] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:04.934] NULL) [17:27:04.934] if (is_error) { [17:27:04.934] sessionInformation <- function() { [17:27:04.934] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:04.934] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:04.934] search = base::search(), system = base::Sys.info()) [17:27:04.934] } [17:27:04.934] ...future.conditions[[length(...future.conditions) + [17:27:04.934] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:04.934] cond$call), session = sessionInformation(), [17:27:04.934] timestamp = base::Sys.time(), signaled = 0L) [17:27:04.934] signalCondition(cond) [17:27:04.934] } [17:27:04.934] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:04.934] "immediateCondition"))) { [17:27:04.934] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:04.934] ...future.conditions[[length(...future.conditions) + [17:27:04.934] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:04.934] if (TRUE && !signal) { [17:27:04.934] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.934] { [17:27:04.934] inherits <- base::inherits [17:27:04.934] invokeRestart <- base::invokeRestart [17:27:04.934] is.null <- base::is.null [17:27:04.934] muffled <- FALSE [17:27:04.934] if (inherits(cond, "message")) { [17:27:04.934] muffled <- grepl(pattern, "muffleMessage") [17:27:04.934] if (muffled) [17:27:04.934] invokeRestart("muffleMessage") [17:27:04.934] } [17:27:04.934] else if (inherits(cond, "warning")) { [17:27:04.934] muffled <- grepl(pattern, "muffleWarning") [17:27:04.934] if (muffled) [17:27:04.934] invokeRestart("muffleWarning") [17:27:04.934] } [17:27:04.934] else if (inherits(cond, "condition")) { [17:27:04.934] if (!is.null(pattern)) { [17:27:04.934] computeRestarts <- base::computeRestarts [17:27:04.934] grepl <- base::grepl [17:27:04.934] restarts <- computeRestarts(cond) [17:27:04.934] for (restart in restarts) { [17:27:04.934] name <- restart$name [17:27:04.934] if (is.null(name)) [17:27:04.934] next [17:27:04.934] if (!grepl(pattern, name)) [17:27:04.934] next [17:27:04.934] invokeRestart(restart) [17:27:04.934] muffled <- TRUE [17:27:04.934] break [17:27:04.934] } [17:27:04.934] } [17:27:04.934] } [17:27:04.934] invisible(muffled) [17:27:04.934] } [17:27:04.934] muffleCondition(cond, pattern = "^muffle") [17:27:04.934] } [17:27:04.934] } [17:27:04.934] else { [17:27:04.934] if (TRUE) { [17:27:04.934] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.934] { [17:27:04.934] inherits <- base::inherits [17:27:04.934] invokeRestart <- base::invokeRestart [17:27:04.934] is.null <- base::is.null [17:27:04.934] muffled <- FALSE [17:27:04.934] if (inherits(cond, "message")) { [17:27:04.934] muffled <- grepl(pattern, "muffleMessage") [17:27:04.934] if (muffled) [17:27:04.934] invokeRestart("muffleMessage") [17:27:04.934] } [17:27:04.934] else if (inherits(cond, "warning")) { [17:27:04.934] muffled <- grepl(pattern, "muffleWarning") [17:27:04.934] if (muffled) [17:27:04.934] invokeRestart("muffleWarning") [17:27:04.934] } [17:27:04.934] else if (inherits(cond, "condition")) { [17:27:04.934] if (!is.null(pattern)) { [17:27:04.934] computeRestarts <- base::computeRestarts [17:27:04.934] grepl <- base::grepl [17:27:04.934] restarts <- computeRestarts(cond) [17:27:04.934] for (restart in restarts) { [17:27:04.934] name <- restart$name [17:27:04.934] if (is.null(name)) [17:27:04.934] next [17:27:04.934] if (!grepl(pattern, name)) [17:27:04.934] next [17:27:04.934] invokeRestart(restart) [17:27:04.934] muffled <- TRUE [17:27:04.934] break [17:27:04.934] } [17:27:04.934] } [17:27:04.934] } [17:27:04.934] invisible(muffled) [17:27:04.934] } [17:27:04.934] muffleCondition(cond, pattern = "^muffle") [17:27:04.934] } [17:27:04.934] } [17:27:04.934] } [17:27:04.934] })) [17:27:04.934] }, error = function(ex) { [17:27:04.934] base::structure(base::list(value = NULL, visible = NULL, [17:27:04.934] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.934] ...future.rng), started = ...future.startTime, [17:27:04.934] finished = Sys.time(), session_uuid = NA_character_, [17:27:04.934] version = "1.8"), class = "FutureResult") [17:27:04.934] }, finally = { [17:27:04.934] if (!identical(...future.workdir, getwd())) [17:27:04.934] setwd(...future.workdir) [17:27:04.934] { [17:27:04.934] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:04.934] ...future.oldOptions$nwarnings <- NULL [17:27:04.934] } [17:27:04.934] base::options(...future.oldOptions) [17:27:04.934] if (.Platform$OS.type == "windows") { [17:27:04.934] old_names <- names(...future.oldEnvVars) [17:27:04.934] envs <- base::Sys.getenv() [17:27:04.934] names <- names(envs) [17:27:04.934] common <- intersect(names, old_names) [17:27:04.934] added <- setdiff(names, old_names) [17:27:04.934] removed <- setdiff(old_names, names) [17:27:04.934] changed <- common[...future.oldEnvVars[common] != [17:27:04.934] envs[common]] [17:27:04.934] NAMES <- toupper(changed) [17:27:04.934] args <- list() [17:27:04.934] for (kk in seq_along(NAMES)) { [17:27:04.934] name <- changed[[kk]] [17:27:04.934] NAME <- NAMES[[kk]] [17:27:04.934] if (name != NAME && is.element(NAME, old_names)) [17:27:04.934] next [17:27:04.934] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.934] } [17:27:04.934] NAMES <- toupper(added) [17:27:04.934] for (kk in seq_along(NAMES)) { [17:27:04.934] name <- added[[kk]] [17:27:04.934] NAME <- NAMES[[kk]] [17:27:04.934] if (name != NAME && is.element(NAME, old_names)) [17:27:04.934] next [17:27:04.934] args[[name]] <- "" [17:27:04.934] } [17:27:04.934] NAMES <- toupper(removed) [17:27:04.934] for (kk in seq_along(NAMES)) { [17:27:04.934] name <- removed[[kk]] [17:27:04.934] NAME <- NAMES[[kk]] [17:27:04.934] if (name != NAME && is.element(NAME, old_names)) [17:27:04.934] next [17:27:04.934] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.934] } [17:27:04.934] if (length(args) > 0) [17:27:04.934] base::do.call(base::Sys.setenv, args = args) [17:27:04.934] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:04.934] } [17:27:04.934] else { [17:27:04.934] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:04.934] } [17:27:04.934] { [17:27:04.934] if (base::length(...future.futureOptionsAdded) > [17:27:04.934] 0L) { [17:27:04.934] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:04.934] base::names(opts) <- ...future.futureOptionsAdded [17:27:04.934] base::options(opts) [17:27:04.934] } [17:27:04.934] { [17:27:04.934] { [17:27:04.934] NULL [17:27:04.934] RNGkind("Mersenne-Twister") [17:27:04.934] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:04.934] inherits = FALSE) [17:27:04.934] } [17:27:04.934] options(future.plan = NULL) [17:27:04.934] if (is.na(NA_character_)) [17:27:04.934] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.934] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:04.934] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:04.934] .init = FALSE) [17:27:04.934] } [17:27:04.934] } [17:27:04.934] } [17:27:04.934] }) [17:27:04.934] if (TRUE) { [17:27:04.934] base::sink(type = "output", split = FALSE) [17:27:04.934] if (TRUE) { [17:27:04.934] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:04.934] } [17:27:04.934] else { [17:27:04.934] ...future.result["stdout"] <- base::list(NULL) [17:27:04.934] } [17:27:04.934] base::close(...future.stdout) [17:27:04.934] ...future.stdout <- NULL [17:27:04.934] } [17:27:04.934] ...future.result$conditions <- ...future.conditions [17:27:04.934] ...future.result$finished <- base::Sys.time() [17:27:04.934] ...future.result [17:27:04.934] } [17:27:04.940] assign_globals() ... [17:27:04.941] List of 4 [17:27:04.941] $ ii : int 3 [17:27:04.941] $ n : int 4 [17:27:04.941] $ C : cplx [1:25, 1:25] -2.25+0.0306i -2.25+0.0918i -2.25+0.1531i ... [17:27:04.941] ..- attr(*, "region")=List of 2 [17:27:04.941] .. ..$ xrange: num [1:2] -2.25 -0.781 [17:27:04.941] .. ..$ yrange: num [1:2] 0.0306 1.5 [17:27:04.941] ..- attr(*, "tile")= int [1:2] 2 1 [17:27:04.941] $ delay:function (counts) [17:27:04.941] ..- attr(*, "srcref")= 'srcref' int [1:8] 41 12 41 30 12 30 41 41 [17:27:04.941] .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' [17:27:04.941] - attr(*, "where")=List of 4 [17:27:04.941] ..$ ii : [17:27:04.941] ..$ n : [17:27:04.941] ..$ C : [17:27:04.941] ..$ delay: [17:27:04.941] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:04.941] - attr(*, "resolved")= logi FALSE [17:27:04.941] - attr(*, "total_size")= int 58785 [17:27:04.941] - attr(*, "already-done")= logi TRUE [17:27:04.963] - copied 'ii' to environment [17:27:04.963] - copied 'n' to environment [17:27:04.963] - copied 'C' to environment [17:27:04.963] - reassign environment for 'delay' [17:27:04.964] - copied 'delay' to environment [17:27:04.964] assign_globals() ... done [17:27:04.966] plan(): Setting new future strategy stack: [17:27:04.966] List of future strategies: [17:27:04.966] 1. sequential: [17:27:04.966] - args: function (..., envir = parent.frame(), workers = "") [17:27:04.966] - tweaked: FALSE [17:27:04.966] - call: NULL [17:27:04.968] plan(): nbrOfWorkers() = 1 [17:27:05.003] plan(): Setting new future strategy stack: [17:27:05.004] List of future strategies: [17:27:05.004] 1. sequential: [17:27:05.004] - args: function (..., envir = parent.frame(), workers = "") [17:27:05.004] - tweaked: FALSE [17:27:05.004] - call: plan(strategy) [17:27:05.005] plan(): nbrOfWorkers() = 1 [17:27:05.005] SequentialFuture started (and completed) [17:27:05.006] signalConditions() ... [17:27:05.006] - include = 'immediateCondition' [17:27:05.006] - exclude = [17:27:05.007] - resignal = FALSE [17:27:05.007] - Number of conditions: 2 [17:27:05.007] signalConditions() ... done [17:27:05.008] - Launch lazy future ... done [17:27:05.008] run() for 'SequentialFuture' ... done [17:27:05.008] - run() ... done [17:27:05.008] - resolved() ... [17:27:05.009] resolved() for 'SequentialFuture' ... [17:27:05.009] - state: 'finished' [17:27:05.009] - run: TRUE [17:27:05.010] - result: 'FutureResult' [17:27:05.010] resolved() for 'SequentialFuture' ... done [17:27:05.011] - resolved: TRUE [17:27:05.011] - resolved() ... done [17:27:05.011] resolved() for 'SequentialFuture' ... done Plotting tile #3 of 4 ... [17:27:05.012] signalConditions() ... [17:27:05.012] - include = 'immediateCondition' [17:27:05.012] - exclude = [17:27:05.013] - resignal = FALSE [17:27:05.013] - Number of conditions: 2 [17:27:05.013] signalConditions() ... done [17:27:05.014] Future state: 'finished' [17:27:05.014] signalConditions() ... [17:27:05.014] - include = 'condition' [17:27:05.015] - exclude = 'immediateCondition' [17:27:05.015] - resignal = TRUE [17:27:05.015] - Number of conditions: 2 [17:27:05.016] - Condition #1: 'simpleMessage', 'message', 'condition' Calculating tile #3 of 4 ...[17:27:05.016] - Condition #2: 'simpleMessage', 'message', 'condition' done [17:27:05.016] signalConditions() ... done [17:27:05.018] resolved() for 'Future' ... [17:27:05.018] - state: 'created' [17:27:05.018] - run: TRUE [17:27:05.019] - run() ... [17:27:05.019] run() for 'Future' ... [17:27:05.019] - state: 'created' [17:27:05.020] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:05.021] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:05.021] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:05.021] - Field: 'label' [17:27:05.022] - Field: 'local' [17:27:05.022] - Field: 'owner' [17:27:05.022] - Field: 'envir' [17:27:05.023] - Field: 'packages' [17:27:05.023] - Field: 'gc' [17:27:05.023] - Field: 'conditions' [17:27:05.024] - Field: 'expr' [17:27:05.024] - Field: 'uuid' [17:27:05.024] - Field: 'seed' [17:27:05.025] - Field: 'version' [17:27:05.025] - Field: 'result' [17:27:05.025] - Field: 'asynchronous' [17:27:05.026] - Field: 'calls' [17:27:05.026] - Field: 'globals' [17:27:05.026] - Field: 'stdout' [17:27:05.027] - Field: 'earlySignal' [17:27:05.027] - Field: 'lazy' [17:27:05.027] - Field: 'state' [17:27:05.028] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:05.028] - Launch lazy future ... [17:27:05.029] Packages needed by the future expression (n = 1): 'future' [17:27:05.029] Packages needed by future strategies (n = 0): [17:27:05.030] { [17:27:05.030] { [17:27:05.030] { [17:27:05.030] ...future.startTime <- base::Sys.time() [17:27:05.030] { [17:27:05.030] { [17:27:05.030] { [17:27:05.030] { [17:27:05.030] base::local({ [17:27:05.030] has_future <- base::requireNamespace("future", [17:27:05.030] quietly = TRUE) [17:27:05.030] if (has_future) { [17:27:05.030] ns <- base::getNamespace("future") [17:27:05.030] version <- ns[[".package"]][["version"]] [17:27:05.030] if (is.null(version)) [17:27:05.030] version <- utils::packageVersion("future") [17:27:05.030] } [17:27:05.030] else { [17:27:05.030] version <- NULL [17:27:05.030] } [17:27:05.030] if (!has_future || version < "1.8.0") { [17:27:05.030] info <- base::c(r_version = base::gsub("R version ", [17:27:05.030] "", base::R.version$version.string), [17:27:05.030] platform = base::sprintf("%s (%s-bit)", [17:27:05.030] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:05.030] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.030] "release", "version")], collapse = " "), [17:27:05.030] hostname = base::Sys.info()[["nodename"]]) [17:27:05.030] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.030] info) [17:27:05.030] info <- base::paste(info, collapse = "; ") [17:27:05.030] if (!has_future) { [17:27:05.030] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.030] info) [17:27:05.030] } [17:27:05.030] else { [17:27:05.030] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.030] info, version) [17:27:05.030] } [17:27:05.030] base::stop(msg) [17:27:05.030] } [17:27:05.030] }) [17:27:05.030] } [17:27:05.030] base::local({ [17:27:05.030] for (pkg in "future") { [17:27:05.030] base::loadNamespace(pkg) [17:27:05.030] base::library(pkg, character.only = TRUE) [17:27:05.030] } [17:27:05.030] }) [17:27:05.030] } [17:27:05.030] ...future.strategy.old <- future::plan("list") [17:27:05.030] options(future.plan = NULL) [17:27:05.030] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.030] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.030] } [17:27:05.030] ...future.workdir <- getwd() [17:27:05.030] } [17:27:05.030] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.030] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.030] } [17:27:05.030] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:05.030] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:05.030] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:05.030] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:05.030] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.030] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.030] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.030] base::names(...future.oldOptions)) [17:27:05.030] } [17:27:05.030] if (FALSE) { [17:27:05.030] } [17:27:05.030] else { [17:27:05.030] if (TRUE) { [17:27:05.030] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.030] open = "w") [17:27:05.030] } [17:27:05.030] else { [17:27:05.030] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.030] windows = "NUL", "/dev/null"), open = "w") [17:27:05.030] } [17:27:05.030] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.030] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.030] base::sink(type = "output", split = FALSE) [17:27:05.030] base::close(...future.stdout) [17:27:05.030] }, add = TRUE) [17:27:05.030] } [17:27:05.030] ...future.frame <- base::sys.nframe() [17:27:05.030] ...future.conditions <- base::list() [17:27:05.030] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.030] if (FALSE) { [17:27:05.030] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.030] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.030] } [17:27:05.030] ...future.result <- base::tryCatch({ [17:27:05.030] base::withCallingHandlers({ [17:27:05.030] ...future.value <- base::withVisible(base::local({ [17:27:05.030] message(sprintf("Calculating tile #%d of %d ...", [17:27:05.030] ii, n), appendLF = FALSE) [17:27:05.030] fit <- mandelbrot(C) [17:27:05.030] delay(fit) [17:27:05.030] message(" done") [17:27:05.030] fit [17:27:05.030] })) [17:27:05.030] future::FutureResult(value = ...future.value$value, [17:27:05.030] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.030] ...future.rng), globalenv = if (FALSE) [17:27:05.030] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.030] ...future.globalenv.names)) [17:27:05.030] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.030] }, condition = base::local({ [17:27:05.030] c <- base::c [17:27:05.030] inherits <- base::inherits [17:27:05.030] invokeRestart <- base::invokeRestart [17:27:05.030] length <- base::length [17:27:05.030] list <- base::list [17:27:05.030] seq.int <- base::seq.int [17:27:05.030] signalCondition <- base::signalCondition [17:27:05.030] sys.calls <- base::sys.calls [17:27:05.030] `[[` <- base::`[[` [17:27:05.030] `+` <- base::`+` [17:27:05.030] `<<-` <- base::`<<-` [17:27:05.030] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.030] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.030] 3L)] [17:27:05.030] } [17:27:05.030] function(cond) { [17:27:05.030] is_error <- inherits(cond, "error") [17:27:05.030] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.030] NULL) [17:27:05.030] if (is_error) { [17:27:05.030] sessionInformation <- function() { [17:27:05.030] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.030] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.030] search = base::search(), system = base::Sys.info()) [17:27:05.030] } [17:27:05.030] ...future.conditions[[length(...future.conditions) + [17:27:05.030] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.030] cond$call), session = sessionInformation(), [17:27:05.030] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.030] signalCondition(cond) [17:27:05.030] } [17:27:05.030] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.030] "immediateCondition"))) { [17:27:05.030] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.030] ...future.conditions[[length(...future.conditions) + [17:27:05.030] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.030] if (TRUE && !signal) { [17:27:05.030] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.030] { [17:27:05.030] inherits <- base::inherits [17:27:05.030] invokeRestart <- base::invokeRestart [17:27:05.030] is.null <- base::is.null [17:27:05.030] muffled <- FALSE [17:27:05.030] if (inherits(cond, "message")) { [17:27:05.030] muffled <- grepl(pattern, "muffleMessage") [17:27:05.030] if (muffled) [17:27:05.030] invokeRestart("muffleMessage") [17:27:05.030] } [17:27:05.030] else if (inherits(cond, "warning")) { [17:27:05.030] muffled <- grepl(pattern, "muffleWarning") [17:27:05.030] if (muffled) [17:27:05.030] invokeRestart("muffleWarning") [17:27:05.030] } [17:27:05.030] else if (inherits(cond, "condition")) { [17:27:05.030] if (!is.null(pattern)) { [17:27:05.030] computeRestarts <- base::computeRestarts [17:27:05.030] grepl <- base::grepl [17:27:05.030] restarts <- computeRestarts(cond) [17:27:05.030] for (restart in restarts) { [17:27:05.030] name <- restart$name [17:27:05.030] if (is.null(name)) [17:27:05.030] next [17:27:05.030] if (!grepl(pattern, name)) [17:27:05.030] next [17:27:05.030] invokeRestart(restart) [17:27:05.030] muffled <- TRUE [17:27:05.030] break [17:27:05.030] } [17:27:05.030] } [17:27:05.030] } [17:27:05.030] invisible(muffled) [17:27:05.030] } [17:27:05.030] muffleCondition(cond, pattern = "^muffle") [17:27:05.030] } [17:27:05.030] } [17:27:05.030] else { [17:27:05.030] if (TRUE) { [17:27:05.030] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.030] { [17:27:05.030] inherits <- base::inherits [17:27:05.030] invokeRestart <- base::invokeRestart [17:27:05.030] is.null <- base::is.null [17:27:05.030] muffled <- FALSE [17:27:05.030] if (inherits(cond, "message")) { [17:27:05.030] muffled <- grepl(pattern, "muffleMessage") [17:27:05.030] if (muffled) [17:27:05.030] invokeRestart("muffleMessage") [17:27:05.030] } [17:27:05.030] else if (inherits(cond, "warning")) { [17:27:05.030] muffled <- grepl(pattern, "muffleWarning") [17:27:05.030] if (muffled) [17:27:05.030] invokeRestart("muffleWarning") [17:27:05.030] } [17:27:05.030] else if (inherits(cond, "condition")) { [17:27:05.030] if (!is.null(pattern)) { [17:27:05.030] computeRestarts <- base::computeRestarts [17:27:05.030] grepl <- base::grepl [17:27:05.030] restarts <- computeRestarts(cond) [17:27:05.030] for (restart in restarts) { [17:27:05.030] name <- restart$name [17:27:05.030] if (is.null(name)) [17:27:05.030] next [17:27:05.030] if (!grepl(pattern, name)) [17:27:05.030] next [17:27:05.030] invokeRestart(restart) [17:27:05.030] muffled <- TRUE [17:27:05.030] break [17:27:05.030] } [17:27:05.030] } [17:27:05.030] } [17:27:05.030] invisible(muffled) [17:27:05.030] } [17:27:05.030] muffleCondition(cond, pattern = "^muffle") [17:27:05.030] } [17:27:05.030] } [17:27:05.030] } [17:27:05.030] })) [17:27:05.030] }, error = function(ex) { [17:27:05.030] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.030] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.030] ...future.rng), started = ...future.startTime, [17:27:05.030] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.030] version = "1.8"), class = "FutureResult") [17:27:05.030] }, finally = { [17:27:05.030] if (!identical(...future.workdir, getwd())) [17:27:05.030] setwd(...future.workdir) [17:27:05.030] { [17:27:05.030] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.030] ...future.oldOptions$nwarnings <- NULL [17:27:05.030] } [17:27:05.030] base::options(...future.oldOptions) [17:27:05.030] if (.Platform$OS.type == "windows") { [17:27:05.030] old_names <- names(...future.oldEnvVars) [17:27:05.030] envs <- base::Sys.getenv() [17:27:05.030] names <- names(envs) [17:27:05.030] common <- intersect(names, old_names) [17:27:05.030] added <- setdiff(names, old_names) [17:27:05.030] removed <- setdiff(old_names, names) [17:27:05.030] changed <- common[...future.oldEnvVars[common] != [17:27:05.030] envs[common]] [17:27:05.030] NAMES <- toupper(changed) [17:27:05.030] args <- list() [17:27:05.030] for (kk in seq_along(NAMES)) { [17:27:05.030] name <- changed[[kk]] [17:27:05.030] NAME <- NAMES[[kk]] [17:27:05.030] if (name != NAME && is.element(NAME, old_names)) [17:27:05.030] next [17:27:05.030] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.030] } [17:27:05.030] NAMES <- toupper(added) [17:27:05.030] for (kk in seq_along(NAMES)) { [17:27:05.030] name <- added[[kk]] [17:27:05.030] NAME <- NAMES[[kk]] [17:27:05.030] if (name != NAME && is.element(NAME, old_names)) [17:27:05.030] next [17:27:05.030] args[[name]] <- "" [17:27:05.030] } [17:27:05.030] NAMES <- toupper(removed) [17:27:05.030] for (kk in seq_along(NAMES)) { [17:27:05.030] name <- removed[[kk]] [17:27:05.030] NAME <- NAMES[[kk]] [17:27:05.030] if (name != NAME && is.element(NAME, old_names)) [17:27:05.030] next [17:27:05.030] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.030] } [17:27:05.030] if (length(args) > 0) [17:27:05.030] base::do.call(base::Sys.setenv, args = args) [17:27:05.030] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.030] } [17:27:05.030] else { [17:27:05.030] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.030] } [17:27:05.030] { [17:27:05.030] if (base::length(...future.futureOptionsAdded) > [17:27:05.030] 0L) { [17:27:05.030] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.030] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.030] base::options(opts) [17:27:05.030] } [17:27:05.030] { [17:27:05.030] { [17:27:05.030] NULL [17:27:05.030] RNGkind("Mersenne-Twister") [17:27:05.030] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:05.030] inherits = FALSE) [17:27:05.030] } [17:27:05.030] options(future.plan = NULL) [17:27:05.030] if (is.na(NA_character_)) [17:27:05.030] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.030] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.030] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.030] .init = FALSE) [17:27:05.030] } [17:27:05.030] } [17:27:05.030] } [17:27:05.030] }) [17:27:05.030] if (TRUE) { [17:27:05.030] base::sink(type = "output", split = FALSE) [17:27:05.030] if (TRUE) { [17:27:05.030] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.030] } [17:27:05.030] else { [17:27:05.030] ...future.result["stdout"] <- base::list(NULL) [17:27:05.030] } [17:27:05.030] base::close(...future.stdout) [17:27:05.030] ...future.stdout <- NULL [17:27:05.030] } [17:27:05.030] ...future.result$conditions <- ...future.conditions [17:27:05.030] ...future.result$finished <- base::Sys.time() [17:27:05.030] ...future.result [17:27:05.030] } [17:27:05.037] assign_globals() ... [17:27:05.037] List of 4 [17:27:05.037] $ ii : int 4 [17:27:05.037] $ n : int 4 [17:27:05.037] $ C : cplx [1:25, 1:25] -0.719+0.0306i -0.719+0.0918i -0.719+0.1531i ... [17:27:05.037] ..- attr(*, "region")=List of 2 [17:27:05.037] .. ..$ xrange: num [1:2] -0.719 0.75 [17:27:05.037] .. ..$ yrange: num [1:2] 0.0306 1.5 [17:27:05.037] ..- attr(*, "tile")= int [1:2] 2 2 [17:27:05.037] $ delay:function (counts) [17:27:05.037] ..- attr(*, "srcref")= 'srcref' int [1:8] 41 12 41 30 12 30 41 41 [17:27:05.037] .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' [17:27:05.037] - attr(*, "where")=List of 4 [17:27:05.037] ..$ ii : [17:27:05.037] ..$ n : [17:27:05.037] ..$ C : [17:27:05.037] ..$ delay: [17:27:05.037] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:05.037] - attr(*, "resolved")= logi FALSE [17:27:05.037] - attr(*, "total_size")= int 58785 [17:27:05.037] - attr(*, "already-done")= logi TRUE [17:27:05.049] - copied 'ii' to environment [17:27:05.050] - copied 'n' to environment [17:27:05.050] - copied 'C' to environment [17:27:05.050] - reassign environment for 'delay' [17:27:05.051] - copied 'delay' to environment [17:27:05.051] assign_globals() ... done [17:27:05.052] plan(): Setting new future strategy stack: [17:27:05.052] List of future strategies: [17:27:05.052] 1. sequential: [17:27:05.052] - args: function (..., envir = parent.frame(), workers = "") [17:27:05.052] - tweaked: FALSE [17:27:05.052] - call: NULL [17:27:05.053] plan(): nbrOfWorkers() = 1 [17:27:05.085] plan(): Setting new future strategy stack: [17:27:05.086] List of future strategies: [17:27:05.086] 1. sequential: [17:27:05.086] - args: function (..., envir = parent.frame(), workers = "") [17:27:05.086] - tweaked: FALSE [17:27:05.086] - call: plan(strategy) [17:27:05.087] plan(): nbrOfWorkers() = 1 [17:27:05.087] SequentialFuture started (and completed) [17:27:05.087] signalConditions() ... [17:27:05.088] - include = 'immediateCondition' [17:27:05.088] - exclude = [17:27:05.088] - resignal = FALSE [17:27:05.089] - Number of conditions: 2 [17:27:05.089] signalConditions() ... done [17:27:05.089] - Launch lazy future ... done [17:27:05.089] run() for 'SequentialFuture' ... done [17:27:05.090] - run() ... done [17:27:05.090] - resolved() ... [17:27:05.090] resolved() for 'SequentialFuture' ... [17:27:05.091] - state: 'finished' [17:27:05.091] - run: TRUE [17:27:05.091] - result: 'FutureResult' [17:27:05.091] resolved() for 'SequentialFuture' ... done [17:27:05.092] - resolved: TRUE [17:27:05.092] - resolved() ... done [17:27:05.092] resolved() for 'SequentialFuture' ... done Plotting tile #4 of 4 ... [17:27:05.093] signalConditions() ... [17:27:05.093] - include = 'immediateCondition' [17:27:05.093] - exclude = [17:27:05.094] - resignal = FALSE [17:27:05.094] - Number of conditions: 2 [17:27:05.094] signalConditions() ... done [17:27:05.095] Future state: 'finished' [17:27:05.095] signalConditions() ... [17:27:05.095] - include = 'condition' [17:27:05.095] - exclude = 'immediateCondition' [17:27:05.096] - resignal = TRUE [17:27:05.096] - Number of conditions: 2 [17:27:05.096] - Condition #1: 'simpleMessage', 'message', 'condition' Calculating tile #4 of 4 ...[17:27:05.097] - Condition #2: 'simpleMessage', 'message', 'condition' done [17:27:05.097] signalConditions() ... done > close.screen() [1] 1 2 3 4 > message("SUGGESTION: Try to rerun this demo after changing strategy for how futures are resolved, e.g. plan(multisession).\n") SUGGESTION: Try to rerun this demo after changing strategy for how futures are resolved, e.g. plan(multisession). - plan('sequential') ... DONE Testing with 1 cores ... DONE Testing with 2 cores ... - plan('multisession') ... [17:27:05.110] plan(): Setting new future strategy stack: [17:27:05.114] List of future strategies: [17:27:05.114] 1. multisession: [17:27:05.114] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:27:05.114] - tweaked: FALSE [17:27:05.114] - call: plan(strategy) [17:27:05.115] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [17:27:05.115] multisession: [17:27:05.115] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:27:05.115] - tweaked: FALSE [17:27:05.115] - call: plan(strategy) [17:27:05.121] getGlobalsAndPackages() ... [17:27:05.121] Not searching for globals [17:27:05.122] - globals: [0] [17:27:05.122] getGlobalsAndPackages() ... DONE [17:27:05.123] [local output] makeClusterPSOCK() ... [17:27:05.186] [local output] Workers: [n = 2] 'localhost', 'localhost' [17:27:05.195] [local output] Base port: 27215 [17:27:05.195] [local output] Getting setup options for 2 cluster nodes ... [17:27:05.196] [local output] - Node #1 of 2 ... [17:27:05.197] [local output] localMachine=TRUE => revtunnel=FALSE [17:27:05.198] Testing if worker's PID can be inferred: '"D:/RCompile/recent/R/bin/x64/Rscript" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/Rtmp82bwYB/worker.rank=1.parallelly.parent=27236.6a645d473d0f.pid\")), silent = TRUE)" -e "file.exists(\"D:/temp/Rtmp82bwYB/worker.rank=1.parallelly.parent=27236.6a645d473d0f.pid\")"' [17:27:05.642] - Possible to infer worker's PID: TRUE [17:27:05.643] [local output] Rscript port: 27215 [17:27:05.644] [local output] - Node #2 of 2 ... [17:27:05.645] [local output] localMachine=TRUE => revtunnel=FALSE [17:27:05.646] [local output] Rscript port: 27215 [17:27:05.647] [local output] Getting setup options for 2 cluster nodes ... done [17:27:05.648] [local output] - Parallel setup requested for some PSOCK nodes [17:27:05.649] [local output] Setting up PSOCK nodes in parallel [17:27:05.649] List of 36 [17:27:05.649] $ worker : chr "localhost" [17:27:05.649] ..- attr(*, "localhost")= logi TRUE [17:27:05.649] $ master : chr "localhost" [17:27:05.649] $ port : int 27215 [17:27:05.649] $ connectTimeout : num 120 [17:27:05.649] $ timeout : num 120 [17:27:05.649] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [17:27:05.649] $ homogeneous : logi TRUE [17:27:05.649] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=demo.R:27236:CRANWIN3:CRAN\" -e "| __truncated__ [17:27:05.649] $ rscript_envs : NULL [17:27:05.649] $ rscript_libs : chr [1:2] "D:/temp/RtmpsXpk4j/RLIBS_1097c668d2fda" "D:/RCompile/recent/R/library" [17:27:05.649] $ rscript_startup : NULL [17:27:05.649] $ rscript_sh : chr [1:2] "cmd" "cmd" [17:27:05.649] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:27:05.649] $ methods : logi TRUE [17:27:05.649] $ socketOptions : chr "no-delay" [17:27:05.649] $ useXDR : logi FALSE [17:27:05.649] $ outfile : chr "/dev/null" [17:27:05.649] $ renice : int NA [17:27:05.649] $ rshcmd : NULL [17:27:05.649] $ user : chr(0) [17:27:05.649] $ revtunnel : logi FALSE [17:27:05.649] $ rshlogfile : NULL [17:27:05.649] $ rshopts : chr(0) [17:27:05.649] $ rank : int 1 [17:27:05.649] $ manual : logi FALSE [17:27:05.649] $ dryrun : logi FALSE [17:27:05.649] $ quiet : logi FALSE [17:27:05.649] $ setup_strategy : chr "parallel" [17:27:05.649] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:27:05.649] $ pidfile : chr "D:/temp/Rtmp82bwYB/worker.rank=1.parallelly.parent=27236.6a645d473d0f.pid" [17:27:05.649] $ rshcmd_label : NULL [17:27:05.649] $ rsh_call : NULL [17:27:05.649] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:27:05.649] $ localMachine : logi TRUE [17:27:05.649] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [17:27:05.649] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [17:27:05.649] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [17:27:05.649] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [17:27:05.649] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [17:27:05.649] "cmd", "sh", "none"), default_packages = c("datasets", "utils", [17:27:05.649] "grDevices", "graphics", "stats", if (methods) "methods"), methods = TRUE, [17:27:05.649] socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [17:27:05.649] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [17:27:05.649] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [17:27:05.649] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [17:27:05.649] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [17:27:05.649] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [17:27:05.649] "parallel"), action = c("launch", "options"), verbose = FALSE) [17:27:05.649] $ arguments :List of 28 [17:27:05.649] ..$ worker : chr "localhost" [17:27:05.649] ..$ master : NULL [17:27:05.649] ..$ port : int 27215 [17:27:05.649] ..$ connectTimeout : num 120 [17:27:05.649] ..$ timeout : num 120 [17:27:05.649] ..$ rscript : NULL [17:27:05.649] ..$ homogeneous : NULL [17:27:05.649] ..$ rscript_args : NULL [17:27:05.649] ..$ rscript_envs : NULL [17:27:05.649] ..$ rscript_libs : chr [1:2] "D:/temp/RtmpsXpk4j/RLIBS_1097c668d2fda" "D:/RCompile/recent/R/library" [17:27:05.649] ..$ rscript_startup : NULL [17:27:05.649] ..$ rscript_sh : chr "auto" [17:27:05.649] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:27:05.649] ..$ methods : logi TRUE [17:27:05.649] ..$ socketOptions : chr "no-delay" [17:27:05.649] ..$ useXDR : logi FALSE [17:27:05.649] ..$ outfile : chr "/dev/null" [17:27:05.649] ..$ renice : int NA [17:27:05.649] ..$ rshcmd : NULL [17:27:05.649] ..$ user : NULL [17:27:05.649] ..$ revtunnel : logi NA [17:27:05.649] ..$ rshlogfile : NULL [17:27:05.649] ..$ rshopts : NULL [17:27:05.649] ..$ rank : int 1 [17:27:05.649] ..$ manual : logi FALSE [17:27:05.649] ..$ dryrun : logi FALSE [17:27:05.649] ..$ quiet : logi FALSE [17:27:05.649] ..$ setup_strategy : chr "parallel" [17:27:05.649] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [17:27:05.680] [local output] System call to launch all workers: [17:27:05.680] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=demo.R:27236:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/Rtmp82bwYB/worker.rank=1.parallelly.parent=27236.6a645d473d0f.pid\")), silent = TRUE)" -e "options(socketOptions = \"no-delay\")" -e ".libPaths(c(\"D:/temp/RtmpsXpk4j/RLIBS_1097c668d2fda\",\"D:/RCompile/recent/R/library\"))" -e "workRSOCK <- tryCatch(parallel:::.workRSOCK, error=function(e) parallel:::.slaveRSOCK); workRSOCK()" MASTER=localhost PORT=27215 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [17:27:05.680] [local output] Starting PSOCK main server [17:27:05.690] [local output] Workers launched [17:27:05.691] [local output] Waiting for workers to connect back [17:27:05.691] - [local output] 0 workers out of 2 ready [17:27:05.951] - [local output] 0 workers out of 2 ready [17:27:05.952] - [local output] 1 workers out of 2 ready [17:27:05.953] - [local output] 2 workers out of 2 ready [17:27:05.953] [local output] Launching of 2 workers completed [17:27:05.953] [local output] Number of nodes in cluster: 2 [17:27:05.953] [local output] Collecting session information from 2 workers [17:27:05.955] [local output] - Worker #1 of 2 [17:27:05.957] [local output] - Worker #2 of 2 [17:27:05.958] [local output] makeClusterPSOCK() ... done [17:27:05.980] Packages needed by the future expression (n = 0): [17:27:05.981] Packages needed by future strategies (n = 0): [17:27:05.982] { [17:27:05.982] { [17:27:05.982] { [17:27:05.982] ...future.startTime <- base::Sys.time() [17:27:05.982] { [17:27:05.982] { [17:27:05.982] { [17:27:05.982] { [17:27:05.982] base::local({ [17:27:05.982] has_future <- base::requireNamespace("future", [17:27:05.982] quietly = TRUE) [17:27:05.982] if (has_future) { [17:27:05.982] ns <- base::getNamespace("future") [17:27:05.982] version <- ns[[".package"]][["version"]] [17:27:05.982] if (is.null(version)) [17:27:05.982] version <- utils::packageVersion("future") [17:27:05.982] } [17:27:05.982] else { [17:27:05.982] version <- NULL [17:27:05.982] } [17:27:05.982] if (!has_future || version < "1.8.0") { [17:27:05.982] info <- base::c(r_version = base::gsub("R version ", [17:27:05.982] "", base::R.version$version.string), [17:27:05.982] platform = base::sprintf("%s (%s-bit)", [17:27:05.982] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:05.982] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.982] "release", "version")], collapse = " "), [17:27:05.982] hostname = base::Sys.info()[["nodename"]]) [17:27:05.982] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.982] info) [17:27:05.982] info <- base::paste(info, collapse = "; ") [17:27:05.982] if (!has_future) { [17:27:05.982] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.982] info) [17:27:05.982] } [17:27:05.982] else { [17:27:05.982] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.982] info, version) [17:27:05.982] } [17:27:05.982] base::stop(msg) [17:27:05.982] } [17:27:05.982] }) [17:27:05.982] } [17:27:05.982] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:05.982] base::options(mc.cores = 1L) [17:27:05.982] } [17:27:05.982] ...future.strategy.old <- future::plan("list") [17:27:05.982] options(future.plan = NULL) [17:27:05.982] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.982] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.982] } [17:27:05.982] ...future.workdir <- getwd() [17:27:05.982] } [17:27:05.982] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.982] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.982] } [17:27:05.982] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:05.982] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:05.982] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:05.982] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:05.982] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.982] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.982] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.982] base::names(...future.oldOptions)) [17:27:05.982] } [17:27:05.982] if (FALSE) { [17:27:05.982] } [17:27:05.982] else { [17:27:05.982] if (TRUE) { [17:27:05.982] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.982] open = "w") [17:27:05.982] } [17:27:05.982] else { [17:27:05.982] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.982] windows = "NUL", "/dev/null"), open = "w") [17:27:05.982] } [17:27:05.982] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.982] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.982] base::sink(type = "output", split = FALSE) [17:27:05.982] base::close(...future.stdout) [17:27:05.982] }, add = TRUE) [17:27:05.982] } [17:27:05.982] ...future.frame <- base::sys.nframe() [17:27:05.982] ...future.conditions <- base::list() [17:27:05.982] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.982] if (FALSE) { [17:27:05.982] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.982] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.982] } [17:27:05.982] ...future.result <- base::tryCatch({ [17:27:05.982] base::withCallingHandlers({ [17:27:05.982] ...future.value <- base::withVisible(base::local({ [17:27:05.982] ...future.makeSendCondition <- base::local({ [17:27:05.982] sendCondition <- NULL [17:27:05.982] function(frame = 1L) { [17:27:05.982] if (is.function(sendCondition)) [17:27:05.982] return(sendCondition) [17:27:05.982] ns <- getNamespace("parallel") [17:27:05.982] if (exists("sendData", mode = "function", [17:27:05.982] envir = ns)) { [17:27:05.982] parallel_sendData <- get("sendData", mode = "function", [17:27:05.982] envir = ns) [17:27:05.982] envir <- sys.frame(frame) [17:27:05.982] master <- NULL [17:27:05.982] while (!identical(envir, .GlobalEnv) && [17:27:05.982] !identical(envir, emptyenv())) { [17:27:05.982] if (exists("master", mode = "list", envir = envir, [17:27:05.982] inherits = FALSE)) { [17:27:05.982] master <- get("master", mode = "list", [17:27:05.982] envir = envir, inherits = FALSE) [17:27:05.982] if (inherits(master, c("SOCKnode", [17:27:05.982] "SOCK0node"))) { [17:27:05.982] sendCondition <<- function(cond) { [17:27:05.982] data <- list(type = "VALUE", value = cond, [17:27:05.982] success = TRUE) [17:27:05.982] parallel_sendData(master, data) [17:27:05.982] } [17:27:05.982] return(sendCondition) [17:27:05.982] } [17:27:05.982] } [17:27:05.982] frame <- frame + 1L [17:27:05.982] envir <- sys.frame(frame) [17:27:05.982] } [17:27:05.982] } [17:27:05.982] sendCondition <<- function(cond) NULL [17:27:05.982] } [17:27:05.982] }) [17:27:05.982] withCallingHandlers({ [17:27:05.982] NA [17:27:05.982] }, immediateCondition = function(cond) { [17:27:05.982] sendCondition <- ...future.makeSendCondition() [17:27:05.982] sendCondition(cond) [17:27:05.982] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.982] { [17:27:05.982] inherits <- base::inherits [17:27:05.982] invokeRestart <- base::invokeRestart [17:27:05.982] is.null <- base::is.null [17:27:05.982] muffled <- FALSE [17:27:05.982] if (inherits(cond, "message")) { [17:27:05.982] muffled <- grepl(pattern, "muffleMessage") [17:27:05.982] if (muffled) [17:27:05.982] invokeRestart("muffleMessage") [17:27:05.982] } [17:27:05.982] else if (inherits(cond, "warning")) { [17:27:05.982] muffled <- grepl(pattern, "muffleWarning") [17:27:05.982] if (muffled) [17:27:05.982] invokeRestart("muffleWarning") [17:27:05.982] } [17:27:05.982] else if (inherits(cond, "condition")) { [17:27:05.982] if (!is.null(pattern)) { [17:27:05.982] computeRestarts <- base::computeRestarts [17:27:05.982] grepl <- base::grepl [17:27:05.982] restarts <- computeRestarts(cond) [17:27:05.982] for (restart in restarts) { [17:27:05.982] name <- restart$name [17:27:05.982] if (is.null(name)) [17:27:05.982] next [17:27:05.982] if (!grepl(pattern, name)) [17:27:05.982] next [17:27:05.982] invokeRestart(restart) [17:27:05.982] muffled <- TRUE [17:27:05.982] break [17:27:05.982] } [17:27:05.982] } [17:27:05.982] } [17:27:05.982] invisible(muffled) [17:27:05.982] } [17:27:05.982] muffleCondition(cond) [17:27:05.982] }) [17:27:05.982] })) [17:27:05.982] future::FutureResult(value = ...future.value$value, [17:27:05.982] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.982] ...future.rng), globalenv = if (FALSE) [17:27:05.982] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.982] ...future.globalenv.names)) [17:27:05.982] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.982] }, condition = base::local({ [17:27:05.982] c <- base::c [17:27:05.982] inherits <- base::inherits [17:27:05.982] invokeRestart <- base::invokeRestart [17:27:05.982] length <- base::length [17:27:05.982] list <- base::list [17:27:05.982] seq.int <- base::seq.int [17:27:05.982] signalCondition <- base::signalCondition [17:27:05.982] sys.calls <- base::sys.calls [17:27:05.982] `[[` <- base::`[[` [17:27:05.982] `+` <- base::`+` [17:27:05.982] `<<-` <- base::`<<-` [17:27:05.982] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.982] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.982] 3L)] [17:27:05.982] } [17:27:05.982] function(cond) { [17:27:05.982] is_error <- inherits(cond, "error") [17:27:05.982] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.982] NULL) [17:27:05.982] if (is_error) { [17:27:05.982] sessionInformation <- function() { [17:27:05.982] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.982] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.982] search = base::search(), system = base::Sys.info()) [17:27:05.982] } [17:27:05.982] ...future.conditions[[length(...future.conditions) + [17:27:05.982] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.982] cond$call), session = sessionInformation(), [17:27:05.982] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.982] signalCondition(cond) [17:27:05.982] } [17:27:05.982] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.982] "immediateCondition"))) { [17:27:05.982] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.982] ...future.conditions[[length(...future.conditions) + [17:27:05.982] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.982] if (TRUE && !signal) { [17:27:05.982] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.982] { [17:27:05.982] inherits <- base::inherits [17:27:05.982] invokeRestart <- base::invokeRestart [17:27:05.982] is.null <- base::is.null [17:27:05.982] muffled <- FALSE [17:27:05.982] if (inherits(cond, "message")) { [17:27:05.982] muffled <- grepl(pattern, "muffleMessage") [17:27:05.982] if (muffled) [17:27:05.982] invokeRestart("muffleMessage") [17:27:05.982] } [17:27:05.982] else if (inherits(cond, "warning")) { [17:27:05.982] muffled <- grepl(pattern, "muffleWarning") [17:27:05.982] if (muffled) [17:27:05.982] invokeRestart("muffleWarning") [17:27:05.982] } [17:27:05.982] else if (inherits(cond, "condition")) { [17:27:05.982] if (!is.null(pattern)) { [17:27:05.982] computeRestarts <- base::computeRestarts [17:27:05.982] grepl <- base::grepl [17:27:05.982] restarts <- computeRestarts(cond) [17:27:05.982] for (restart in restarts) { [17:27:05.982] name <- restart$name [17:27:05.982] if (is.null(name)) [17:27:05.982] next [17:27:05.982] if (!grepl(pattern, name)) [17:27:05.982] next [17:27:05.982] invokeRestart(restart) [17:27:05.982] muffled <- TRUE [17:27:05.982] break [17:27:05.982] } [17:27:05.982] } [17:27:05.982] } [17:27:05.982] invisible(muffled) [17:27:05.982] } [17:27:05.982] muffleCondition(cond, pattern = "^muffle") [17:27:05.982] } [17:27:05.982] } [17:27:05.982] else { [17:27:05.982] if (TRUE) { [17:27:05.982] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.982] { [17:27:05.982] inherits <- base::inherits [17:27:05.982] invokeRestart <- base::invokeRestart [17:27:05.982] is.null <- base::is.null [17:27:05.982] muffled <- FALSE [17:27:05.982] if (inherits(cond, "message")) { [17:27:05.982] muffled <- grepl(pattern, "muffleMessage") [17:27:05.982] if (muffled) [17:27:05.982] invokeRestart("muffleMessage") [17:27:05.982] } [17:27:05.982] else if (inherits(cond, "warning")) { [17:27:05.982] muffled <- grepl(pattern, "muffleWarning") [17:27:05.982] if (muffled) [17:27:05.982] invokeRestart("muffleWarning") [17:27:05.982] } [17:27:05.982] else if (inherits(cond, "condition")) { [17:27:05.982] if (!is.null(pattern)) { [17:27:05.982] computeRestarts <- base::computeRestarts [17:27:05.982] grepl <- base::grepl [17:27:05.982] restarts <- computeRestarts(cond) [17:27:05.982] for (restart in restarts) { [17:27:05.982] name <- restart$name [17:27:05.982] if (is.null(name)) [17:27:05.982] next [17:27:05.982] if (!grepl(pattern, name)) [17:27:05.982] next [17:27:05.982] invokeRestart(restart) [17:27:05.982] muffled <- TRUE [17:27:05.982] break [17:27:05.982] } [17:27:05.982] } [17:27:05.982] } [17:27:05.982] invisible(muffled) [17:27:05.982] } [17:27:05.982] muffleCondition(cond, pattern = "^muffle") [17:27:05.982] } [17:27:05.982] } [17:27:05.982] } [17:27:05.982] })) [17:27:05.982] }, error = function(ex) { [17:27:05.982] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.982] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.982] ...future.rng), started = ...future.startTime, [17:27:05.982] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.982] version = "1.8"), class = "FutureResult") [17:27:05.982] }, finally = { [17:27:05.982] if (!identical(...future.workdir, getwd())) [17:27:05.982] setwd(...future.workdir) [17:27:05.982] { [17:27:05.982] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.982] ...future.oldOptions$nwarnings <- NULL [17:27:05.982] } [17:27:05.982] base::options(...future.oldOptions) [17:27:05.982] if (.Platform$OS.type == "windows") { [17:27:05.982] old_names <- names(...future.oldEnvVars) [17:27:05.982] envs <- base::Sys.getenv() [17:27:05.982] names <- names(envs) [17:27:05.982] common <- intersect(names, old_names) [17:27:05.982] added <- setdiff(names, old_names) [17:27:05.982] removed <- setdiff(old_names, names) [17:27:05.982] changed <- common[...future.oldEnvVars[common] != [17:27:05.982] envs[common]] [17:27:05.982] NAMES <- toupper(changed) [17:27:05.982] args <- list() [17:27:05.982] for (kk in seq_along(NAMES)) { [17:27:05.982] name <- changed[[kk]] [17:27:05.982] NAME <- NAMES[[kk]] [17:27:05.982] if (name != NAME && is.element(NAME, old_names)) [17:27:05.982] next [17:27:05.982] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.982] } [17:27:05.982] NAMES <- toupper(added) [17:27:05.982] for (kk in seq_along(NAMES)) { [17:27:05.982] name <- added[[kk]] [17:27:05.982] NAME <- NAMES[[kk]] [17:27:05.982] if (name != NAME && is.element(NAME, old_names)) [17:27:05.982] next [17:27:05.982] args[[name]] <- "" [17:27:05.982] } [17:27:05.982] NAMES <- toupper(removed) [17:27:05.982] for (kk in seq_along(NAMES)) { [17:27:05.982] name <- removed[[kk]] [17:27:05.982] NAME <- NAMES[[kk]] [17:27:05.982] if (name != NAME && is.element(NAME, old_names)) [17:27:05.982] next [17:27:05.982] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.982] } [17:27:05.982] if (length(args) > 0) [17:27:05.982] base::do.call(base::Sys.setenv, args = args) [17:27:05.982] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.982] } [17:27:05.982] else { [17:27:05.982] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.982] } [17:27:05.982] { [17:27:05.982] if (base::length(...future.futureOptionsAdded) > [17:27:05.982] 0L) { [17:27:05.982] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.982] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.982] base::options(opts) [17:27:05.982] } [17:27:05.982] { [17:27:05.982] { [17:27:05.982] base::options(mc.cores = ...future.mc.cores.old) [17:27:05.982] NULL [17:27:05.982] } [17:27:05.982] options(future.plan = NULL) [17:27:05.982] if (is.na(NA_character_)) [17:27:05.982] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.982] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.982] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.982] .init = FALSE) [17:27:05.982] } [17:27:05.982] } [17:27:05.982] } [17:27:05.982] }) [17:27:05.982] if (TRUE) { [17:27:05.982] base::sink(type = "output", split = FALSE) [17:27:05.982] if (TRUE) { [17:27:05.982] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.982] } [17:27:05.982] else { [17:27:05.982] ...future.result["stdout"] <- base::list(NULL) [17:27:05.982] } [17:27:05.982] base::close(...future.stdout) [17:27:05.982] ...future.stdout <- NULL [17:27:05.982] } [17:27:05.982] ...future.result$conditions <- ...future.conditions [17:27:05.982] ...future.result$finished <- base::Sys.time() [17:27:05.982] ...future.result [17:27:05.982] } [17:27:06.127] MultisessionFuture started [17:27:06.128] result() for ClusterFuture ... [17:27:06.129] receiveMessageFromWorker() for ClusterFuture ... [17:27:06.129] - Validating connection of MultisessionFuture [17:27:06.203] - received message: FutureResult [17:27:06.204] - Received FutureResult [17:27:06.209] - Erased future from FutureRegistry [17:27:06.210] result() for ClusterFuture ... [17:27:06.210] - result already collected: FutureResult [17:27:06.210] result() for ClusterFuture ... done [17:27:06.211] receiveMessageFromWorker() for ClusterFuture ... done [17:27:06.211] result() for ClusterFuture ... done [17:27:06.211] result() for ClusterFuture ... [17:27:06.212] - result already collected: FutureResult [17:27:06.212] result() for ClusterFuture ... done [17:27:06.212] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [17:27:06.217] plan(): nbrOfWorkers() = 2 demo(mandelbrot) ---- ~~~~~~~~~~ > library("future") > library("graphics") > plot_what_is_done <- function(counts) { + for (kk in seq_along(counts)) { + f <- counts[[kk]] + + ## Already plotted? + if (!inherits(f, "Future")) next + + ## Not resolved? + if (!resolved(f)) next + + message(sprintf("Plotting tile #%d of %d ...", kk, n)) + counts[[kk]] <- value(f) + screen(kk) + plot(counts[[kk]]) + } + + counts + } > ## Options > region <- getOption("future.demo.mandelbrot.region", 1L) > if (!is.list(region)) { + if (region == 1L) { + region <- list(xmid = -0.75, ymid = 0.0, side = 3.0) + } else if (region == 2L) { + region <- list(xmid = 0.283, ymid = -0.0095, side = 0.00026) + } else if (region == 3L) { + region <- list(xmid = 0.282989, ymid = -0.01, side = 3e-8) + } + } > nrow <- getOption("future.demo.mandelbrot.nrow", 3L) > resolution <- getOption("future.demo.mandelbrot.resolution", 400L) > delay <- getOption("future.demo.mandelbrot.delay", interactive()) > if (isTRUE(delay)) { + delay <- function(counts) Sys.sleep(1.0) + } else if (!is.function(delay)) { + delay <- function(counts) {} + } > ## Generate Mandelbrot tiles to be computed > Cs <- mandelbrot_tiles(xmid = region$xmid, ymid = region$ymid, + side = region$side, nrow = nrow, + resolution = resolution) > if (interactive()) { + dev.new() + plot.new() + split.screen(dim(Cs)) + for (ii in seq_along(Cs)) { + screen(ii) + par(mar = c(0, 0, 0, 0)) + text(x = 1 / 2, y = 1 / 2, sprintf("Future #%d\nunresolved", ii), cex = 2) + } + } else { + split.screen(dim(Cs)) + } [1] 5 6 7 8 > ## Create all Mandelbrot tiles via lazy futures > n <- length(Cs) > message(sprintf("Creating %d Mandelbrot tiles:", n), appendLF = FALSE) Creating 4 Mandelbrot tiles: > counts <- lapply(seq_along(Cs), FUN=function(ii) { + message(" ", ii, appendLF = FALSE) + C <- Cs[[ii]] + future({ + message(sprintf("Calculating tile #%d of %d ...", ii, n), appendLF = FALSE) + fit <- mandelbrot(C) + + ## Emulate slowness + delay(fit) + + message(" done") + fit + }, lazy = TRUE) + }) 1[17:27:06.225] getGlobalsAndPackages() ... [17:27:06.225] Searching for globals... [17:27:06.231] - globals found: [9] '{', 'message', 'sprintf', 'ii', 'n', '<-', 'mandelbrot', 'C', 'delay' [17:27:06.231] Searching for globals ... DONE [17:27:06.232] Resolving globals: FALSE [17:27:06.233] The total size of the 4 globals is 57.41 KiB (58785 bytes) [17:27:06.234] The total size of the 4 globals exported for future expression ('{; message(sprintf("Calculating tile #%d of %d ...", ii, n),; appendLF = FALSE); fit <- mandelbrot(C); delay(fit); message(" done"); fit; }') is 57.41 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). The three largest globals are 'delay' (47.33 KiB of class 'function'), 'C' (10.00 KiB of class 'complex') and 'ii' (35 bytes of class 'numeric') [17:27:06.235] - globals: [4] 'ii', 'n', 'C', 'delay' [17:27:06.236] - packages: [1] 'future' [17:27:06.236] getGlobalsAndPackages() ... DONE 2[17:27:06.246] getGlobalsAndPackages() ... [17:27:06.247] Searching for globals... [17:27:06.256] - globals found: [9] '{', 'message', 'sprintf', 'ii', 'n', '<-', 'mandelbrot', 'C', 'delay' [17:27:06.257] Searching for globals ... DONE [17:27:06.257] Resolving globals: FALSE [17:27:06.258] The total size of the 4 globals is 57.41 KiB (58785 bytes) [17:27:06.259] The total size of the 4 globals exported for future expression ('{; message(sprintf("Calculating tile #%d of %d ...", ii, n),; appendLF = FALSE); fit <- mandelbrot(C); delay(fit); message(" done"); fit; }') is 57.41 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). The three largest globals are 'delay' (47.33 KiB of class 'function'), 'C' (10.00 KiB of class 'complex') and 'ii' (35 bytes of class 'numeric') [17:27:06.260] - globals: [4] 'ii', 'n', 'C', 'delay' [17:27:06.260] - packages: [1] 'future' [17:27:06.260] getGlobalsAndPackages() ... DONE 3[17:27:06.261] getGlobalsAndPackages() ... [17:27:06.262] Searching for globals... [17:27:06.269] - globals found: [9] '{', 'message', 'sprintf', 'ii', 'n', '<-', 'mandelbrot', 'C', 'delay' [17:27:06.270] Searching for globals ... DONE [17:27:06.270] Resolving globals: FALSE [17:27:06.271] The total size of the 4 globals is 57.41 KiB (58785 bytes) [17:27:06.272] The total size of the 4 globals exported for future expression ('{; message(sprintf("Calculating tile #%d of %d ...", ii, n),; appendLF = FALSE); fit <- mandelbrot(C); delay(fit); message(" done"); fit; }') is 57.41 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). The three largest globals are 'delay' (47.33 KiB of class 'function'), 'C' (10.00 KiB of class 'complex') and 'ii' (35 bytes of class 'numeric') [17:27:06.272] - globals: [4] 'ii', 'n', 'C', 'delay' [17:27:06.272] - packages: [1] 'future' [17:27:06.273] getGlobalsAndPackages() ... DONE 4[17:27:06.274] getGlobalsAndPackages() ... [17:27:06.274] Searching for globals... [17:27:06.282] - globals found: [9] '{', 'message', 'sprintf', 'ii', 'n', '<-', 'mandelbrot', 'C', 'delay' [17:27:06.282] Searching for globals ... DONE [17:27:06.282] Resolving globals: FALSE [17:27:06.284] The total size of the 4 globals is 57.41 KiB (58785 bytes) [17:27:06.285] The total size of the 4 globals exported for future expression ('{; message(sprintf("Calculating tile #%d of %d ...", ii, n),; appendLF = FALSE); fit <- mandelbrot(C); delay(fit); message(" done"); fit; }') is 57.41 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). The three largest globals are 'delay' (47.33 KiB of class 'function'), 'C' (10.00 KiB of class 'complex') and 'ii' (35 bytes of class 'numeric') [17:27:06.285] - globals: [4] 'ii', 'n', 'C', 'delay' [17:27:06.285] - packages: [1] 'future' [17:27:06.286] getGlobalsAndPackages() ... DONE > message(".") . > ## Calculate and plot tiles > repeat { + counts <- plot_what_is_done(counts) + if (!any(sapply(counts, FUN = inherits, "Future"))) break + } [17:27:06.309] resolved() for 'Future' ... [17:27:06.309] - state: 'created' [17:27:06.309] - run: TRUE [17:27:06.310] - run() ... [17:27:06.310] run() for 'Future' ... [17:27:06.310] - state: 'created' [17:27:06.311] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:06.330] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:06.331] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:06.331] - Field: 'node' [17:27:06.332] - Field: 'label' [17:27:06.332] - Field: 'local' [17:27:06.332] - Field: 'owner' [17:27:06.333] - Field: 'envir' [17:27:06.333] - Field: 'workers' [17:27:06.333] - Field: 'packages' [17:27:06.334] - Field: 'gc' [17:27:06.334] - Field: 'conditions' [17:27:06.334] - Field: 'persistent' [17:27:06.335] - Field: 'expr' [17:27:06.335] - Field: 'uuid' [17:27:06.335] - Field: 'seed' [17:27:06.336] - Field: 'version' [17:27:06.336] - Field: 'result' [17:27:06.336] - Field: 'asynchronous' [17:27:06.336] - Field: 'calls' [17:27:06.337] - Field: 'globals' [17:27:06.337] - Field: 'stdout' [17:27:06.338] - Field: 'earlySignal' [17:27:06.338] - Field: 'lazy' [17:27:06.338] - Field: 'state' [17:27:06.339] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:06.339] - Launch lazy future ... [17:27:06.340] Packages needed by the future expression (n = 1): 'future' [17:27:06.340] Packages needed by future strategies (n = 0): [17:27:06.341] { [17:27:06.341] { [17:27:06.341] { [17:27:06.341] ...future.startTime <- base::Sys.time() [17:27:06.341] { [17:27:06.341] { [17:27:06.341] { [17:27:06.341] { [17:27:06.341] { [17:27:06.341] base::local({ [17:27:06.341] has_future <- base::requireNamespace("future", [17:27:06.341] quietly = TRUE) [17:27:06.341] if (has_future) { [17:27:06.341] ns <- base::getNamespace("future") [17:27:06.341] version <- ns[[".package"]][["version"]] [17:27:06.341] if (is.null(version)) [17:27:06.341] version <- utils::packageVersion("future") [17:27:06.341] } [17:27:06.341] else { [17:27:06.341] version <- NULL [17:27:06.341] } [17:27:06.341] if (!has_future || version < "1.8.0") { [17:27:06.341] info <- base::c(r_version = base::gsub("R version ", [17:27:06.341] "", base::R.version$version.string), [17:27:06.341] platform = base::sprintf("%s (%s-bit)", [17:27:06.341] base::R.version$platform, 8 * [17:27:06.341] base::.Machine$sizeof.pointer), [17:27:06.341] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:06.341] "release", "version")], collapse = " "), [17:27:06.341] hostname = base::Sys.info()[["nodename"]]) [17:27:06.341] info <- base::sprintf("%s: %s", base::names(info), [17:27:06.341] info) [17:27:06.341] info <- base::paste(info, collapse = "; ") [17:27:06.341] if (!has_future) { [17:27:06.341] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:06.341] info) [17:27:06.341] } [17:27:06.341] else { [17:27:06.341] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:06.341] info, version) [17:27:06.341] } [17:27:06.341] base::stop(msg) [17:27:06.341] } [17:27:06.341] }) [17:27:06.341] } [17:27:06.341] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:06.341] base::options(mc.cores = 1L) [17:27:06.341] } [17:27:06.341] base::local({ [17:27:06.341] for (pkg in "future") { [17:27:06.341] base::loadNamespace(pkg) [17:27:06.341] base::library(pkg, character.only = TRUE) [17:27:06.341] } [17:27:06.341] }) [17:27:06.341] } [17:27:06.341] ...future.strategy.old <- future::plan("list") [17:27:06.341] options(future.plan = NULL) [17:27:06.341] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.341] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:06.341] } [17:27:06.341] ...future.workdir <- getwd() [17:27:06.341] } [17:27:06.341] ...future.oldOptions <- base::as.list(base::.Options) [17:27:06.341] ...future.oldEnvVars <- base::Sys.getenv() [17:27:06.341] } [17:27:06.341] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:06.341] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:06.341] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:06.341] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:06.341] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:06.341] future.stdout.windows.reencode = NULL, width = 80L) [17:27:06.341] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:06.341] base::names(...future.oldOptions)) [17:27:06.341] } [17:27:06.341] if (FALSE) { [17:27:06.341] } [17:27:06.341] else { [17:27:06.341] if (TRUE) { [17:27:06.341] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:06.341] open = "w") [17:27:06.341] } [17:27:06.341] else { [17:27:06.341] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:06.341] windows = "NUL", "/dev/null"), open = "w") [17:27:06.341] } [17:27:06.341] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:06.341] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:06.341] base::sink(type = "output", split = FALSE) [17:27:06.341] base::close(...future.stdout) [17:27:06.341] }, add = TRUE) [17:27:06.341] } [17:27:06.341] ...future.frame <- base::sys.nframe() [17:27:06.341] ...future.conditions <- base::list() [17:27:06.341] ...future.rng <- base::globalenv()$.Random.seed [17:27:06.341] if (FALSE) { [17:27:06.341] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:06.341] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:06.341] } [17:27:06.341] ...future.result <- base::tryCatch({ [17:27:06.341] base::withCallingHandlers({ [17:27:06.341] ...future.value <- base::withVisible(base::local({ [17:27:06.341] ...future.makeSendCondition <- base::local({ [17:27:06.341] sendCondition <- NULL [17:27:06.341] function(frame = 1L) { [17:27:06.341] if (is.function(sendCondition)) [17:27:06.341] return(sendCondition) [17:27:06.341] ns <- getNamespace("parallel") [17:27:06.341] if (exists("sendData", mode = "function", [17:27:06.341] envir = ns)) { [17:27:06.341] parallel_sendData <- get("sendData", mode = "function", [17:27:06.341] envir = ns) [17:27:06.341] envir <- sys.frame(frame) [17:27:06.341] master <- NULL [17:27:06.341] while (!identical(envir, .GlobalEnv) && [17:27:06.341] !identical(envir, emptyenv())) { [17:27:06.341] if (exists("master", mode = "list", envir = envir, [17:27:06.341] inherits = FALSE)) { [17:27:06.341] master <- get("master", mode = "list", [17:27:06.341] envir = envir, inherits = FALSE) [17:27:06.341] if (inherits(master, c("SOCKnode", [17:27:06.341] "SOCK0node"))) { [17:27:06.341] sendCondition <<- function(cond) { [17:27:06.341] data <- list(type = "VALUE", value = cond, [17:27:06.341] success = TRUE) [17:27:06.341] parallel_sendData(master, data) [17:27:06.341] } [17:27:06.341] return(sendCondition) [17:27:06.341] } [17:27:06.341] } [17:27:06.341] frame <- frame + 1L [17:27:06.341] envir <- sys.frame(frame) [17:27:06.341] } [17:27:06.341] } [17:27:06.341] sendCondition <<- function(cond) NULL [17:27:06.341] } [17:27:06.341] }) [17:27:06.341] withCallingHandlers({ [17:27:06.341] { [17:27:06.341] message(sprintf("Calculating tile #%d of %d ...", [17:27:06.341] ii, n), appendLF = FALSE) [17:27:06.341] fit <- mandelbrot(C) [17:27:06.341] delay(fit) [17:27:06.341] message(" done") [17:27:06.341] fit [17:27:06.341] } [17:27:06.341] }, immediateCondition = function(cond) { [17:27:06.341] sendCondition <- ...future.makeSendCondition() [17:27:06.341] sendCondition(cond) [17:27:06.341] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.341] { [17:27:06.341] inherits <- base::inherits [17:27:06.341] invokeRestart <- base::invokeRestart [17:27:06.341] is.null <- base::is.null [17:27:06.341] muffled <- FALSE [17:27:06.341] if (inherits(cond, "message")) { [17:27:06.341] muffled <- grepl(pattern, "muffleMessage") [17:27:06.341] if (muffled) [17:27:06.341] invokeRestart("muffleMessage") [17:27:06.341] } [17:27:06.341] else if (inherits(cond, "warning")) { [17:27:06.341] muffled <- grepl(pattern, "muffleWarning") [17:27:06.341] if (muffled) [17:27:06.341] invokeRestart("muffleWarning") [17:27:06.341] } [17:27:06.341] else if (inherits(cond, "condition")) { [17:27:06.341] if (!is.null(pattern)) { [17:27:06.341] computeRestarts <- base::computeRestarts [17:27:06.341] grepl <- base::grepl [17:27:06.341] restarts <- computeRestarts(cond) [17:27:06.341] for (restart in restarts) { [17:27:06.341] name <- restart$name [17:27:06.341] if (is.null(name)) [17:27:06.341] next [17:27:06.341] if (!grepl(pattern, name)) [17:27:06.341] next [17:27:06.341] invokeRestart(restart) [17:27:06.341] muffled <- TRUE [17:27:06.341] break [17:27:06.341] } [17:27:06.341] } [17:27:06.341] } [17:27:06.341] invisible(muffled) [17:27:06.341] } [17:27:06.341] muffleCondition(cond) [17:27:06.341] }) [17:27:06.341] })) [17:27:06.341] future::FutureResult(value = ...future.value$value, [17:27:06.341] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.341] ...future.rng), globalenv = if (FALSE) [17:27:06.341] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:06.341] ...future.globalenv.names)) [17:27:06.341] else NULL, started = ...future.startTime, version = "1.8") [17:27:06.341] }, condition = base::local({ [17:27:06.341] c <- base::c [17:27:06.341] inherits <- base::inherits [17:27:06.341] invokeRestart <- base::invokeRestart [17:27:06.341] length <- base::length [17:27:06.341] list <- base::list [17:27:06.341] seq.int <- base::seq.int [17:27:06.341] signalCondition <- base::signalCondition [17:27:06.341] sys.calls <- base::sys.calls [17:27:06.341] `[[` <- base::`[[` [17:27:06.341] `+` <- base::`+` [17:27:06.341] `<<-` <- base::`<<-` [17:27:06.341] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:06.341] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:06.341] 3L)] [17:27:06.341] } [17:27:06.341] function(cond) { [17:27:06.341] is_error <- inherits(cond, "error") [17:27:06.341] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:06.341] NULL) [17:27:06.341] if (is_error) { [17:27:06.341] sessionInformation <- function() { [17:27:06.341] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:06.341] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:06.341] search = base::search(), system = base::Sys.info()) [17:27:06.341] } [17:27:06.341] ...future.conditions[[length(...future.conditions) + [17:27:06.341] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:06.341] cond$call), session = sessionInformation(), [17:27:06.341] timestamp = base::Sys.time(), signaled = 0L) [17:27:06.341] signalCondition(cond) [17:27:06.341] } [17:27:06.341] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:06.341] "immediateCondition"))) { [17:27:06.341] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:06.341] ...future.conditions[[length(...future.conditions) + [17:27:06.341] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:06.341] if (TRUE && !signal) { [17:27:06.341] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.341] { [17:27:06.341] inherits <- base::inherits [17:27:06.341] invokeRestart <- base::invokeRestart [17:27:06.341] is.null <- base::is.null [17:27:06.341] muffled <- FALSE [17:27:06.341] if (inherits(cond, "message")) { [17:27:06.341] muffled <- grepl(pattern, "muffleMessage") [17:27:06.341] if (muffled) [17:27:06.341] invokeRestart("muffleMessage") [17:27:06.341] } [17:27:06.341] else if (inherits(cond, "warning")) { [17:27:06.341] muffled <- grepl(pattern, "muffleWarning") [17:27:06.341] if (muffled) [17:27:06.341] invokeRestart("muffleWarning") [17:27:06.341] } [17:27:06.341] else if (inherits(cond, "condition")) { [17:27:06.341] if (!is.null(pattern)) { [17:27:06.341] computeRestarts <- base::computeRestarts [17:27:06.341] grepl <- base::grepl [17:27:06.341] restarts <- computeRestarts(cond) [17:27:06.341] for (restart in restarts) { [17:27:06.341] name <- restart$name [17:27:06.341] if (is.null(name)) [17:27:06.341] next [17:27:06.341] if (!grepl(pattern, name)) [17:27:06.341] next [17:27:06.341] invokeRestart(restart) [17:27:06.341] muffled <- TRUE [17:27:06.341] break [17:27:06.341] } [17:27:06.341] } [17:27:06.341] } [17:27:06.341] invisible(muffled) [17:27:06.341] } [17:27:06.341] muffleCondition(cond, pattern = "^muffle") [17:27:06.341] } [17:27:06.341] } [17:27:06.341] else { [17:27:06.341] if (TRUE) { [17:27:06.341] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.341] { [17:27:06.341] inherits <- base::inherits [17:27:06.341] invokeRestart <- base::invokeRestart [17:27:06.341] is.null <- base::is.null [17:27:06.341] muffled <- FALSE [17:27:06.341] if (inherits(cond, "message")) { [17:27:06.341] muffled <- grepl(pattern, "muffleMessage") [17:27:06.341] if (muffled) [17:27:06.341] invokeRestart("muffleMessage") [17:27:06.341] } [17:27:06.341] else if (inherits(cond, "warning")) { [17:27:06.341] muffled <- grepl(pattern, "muffleWarning") [17:27:06.341] if (muffled) [17:27:06.341] invokeRestart("muffleWarning") [17:27:06.341] } [17:27:06.341] else if (inherits(cond, "condition")) { [17:27:06.341] if (!is.null(pattern)) { [17:27:06.341] computeRestarts <- base::computeRestarts [17:27:06.341] grepl <- base::grepl [17:27:06.341] restarts <- computeRestarts(cond) [17:27:06.341] for (restart in restarts) { [17:27:06.341] name <- restart$name [17:27:06.341] if (is.null(name)) [17:27:06.341] next [17:27:06.341] if (!grepl(pattern, name)) [17:27:06.341] next [17:27:06.341] invokeRestart(restart) [17:27:06.341] muffled <- TRUE [17:27:06.341] break [17:27:06.341] } [17:27:06.341] } [17:27:06.341] } [17:27:06.341] invisible(muffled) [17:27:06.341] } [17:27:06.341] muffleCondition(cond, pattern = "^muffle") [17:27:06.341] } [17:27:06.341] } [17:27:06.341] } [17:27:06.341] })) [17:27:06.341] }, error = function(ex) { [17:27:06.341] base::structure(base::list(value = NULL, visible = NULL, [17:27:06.341] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.341] ...future.rng), started = ...future.startTime, [17:27:06.341] finished = Sys.time(), session_uuid = NA_character_, [17:27:06.341] version = "1.8"), class = "FutureResult") [17:27:06.341] }, finally = { [17:27:06.341] if (!identical(...future.workdir, getwd())) [17:27:06.341] setwd(...future.workdir) [17:27:06.341] { [17:27:06.341] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:06.341] ...future.oldOptions$nwarnings <- NULL [17:27:06.341] } [17:27:06.341] base::options(...future.oldOptions) [17:27:06.341] if (.Platform$OS.type == "windows") { [17:27:06.341] old_names <- names(...future.oldEnvVars) [17:27:06.341] envs <- base::Sys.getenv() [17:27:06.341] names <- names(envs) [17:27:06.341] common <- intersect(names, old_names) [17:27:06.341] added <- setdiff(names, old_names) [17:27:06.341] removed <- setdiff(old_names, names) [17:27:06.341] changed <- common[...future.oldEnvVars[common] != [17:27:06.341] envs[common]] [17:27:06.341] NAMES <- toupper(changed) [17:27:06.341] args <- list() [17:27:06.341] for (kk in seq_along(NAMES)) { [17:27:06.341] name <- changed[[kk]] [17:27:06.341] NAME <- NAMES[[kk]] [17:27:06.341] if (name != NAME && is.element(NAME, old_names)) [17:27:06.341] next [17:27:06.341] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.341] } [17:27:06.341] NAMES <- toupper(added) [17:27:06.341] for (kk in seq_along(NAMES)) { [17:27:06.341] name <- added[[kk]] [17:27:06.341] NAME <- NAMES[[kk]] [17:27:06.341] if (name != NAME && is.element(NAME, old_names)) [17:27:06.341] next [17:27:06.341] args[[name]] <- "" [17:27:06.341] } [17:27:06.341] NAMES <- toupper(removed) [17:27:06.341] for (kk in seq_along(NAMES)) { [17:27:06.341] name <- removed[[kk]] [17:27:06.341] NAME <- NAMES[[kk]] [17:27:06.341] if (name != NAME && is.element(NAME, old_names)) [17:27:06.341] next [17:27:06.341] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.341] } [17:27:06.341] if (length(args) > 0) [17:27:06.341] base::do.call(base::Sys.setenv, args = args) [17:27:06.341] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:06.341] } [17:27:06.341] else { [17:27:06.341] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:06.341] } [17:27:06.341] { [17:27:06.341] if (base::length(...future.futureOptionsAdded) > [17:27:06.341] 0L) { [17:27:06.341] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:06.341] base::names(opts) <- ...future.futureOptionsAdded [17:27:06.341] base::options(opts) [17:27:06.341] } [17:27:06.341] { [17:27:06.341] { [17:27:06.341] base::options(mc.cores = ...future.mc.cores.old) [17:27:06.341] NULL [17:27:06.341] } [17:27:06.341] options(future.plan = NULL) [17:27:06.341] if (is.na(NA_character_)) [17:27:06.341] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.341] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:06.341] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:06.341] .init = FALSE) [17:27:06.341] } [17:27:06.341] } [17:27:06.341] } [17:27:06.341] }) [17:27:06.341] if (TRUE) { [17:27:06.341] base::sink(type = "output", split = FALSE) [17:27:06.341] if (TRUE) { [17:27:06.341] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:06.341] } [17:27:06.341] else { [17:27:06.341] ...future.result["stdout"] <- base::list(NULL) [17:27:06.341] } [17:27:06.341] base::close(...future.stdout) [17:27:06.341] ...future.stdout <- NULL [17:27:06.341] } [17:27:06.341] ...future.result$conditions <- ...future.conditions [17:27:06.341] ...future.result$finished <- base::Sys.time() [17:27:06.341] ...future.result [17:27:06.341] } [17:27:06.351] Exporting 4 global objects (57.67 KiB) to cluster node #1 ... [17:27:06.351] Exporting 'ii' (35 bytes) to cluster node #1 ... [17:27:06.352] Exporting 'ii' (35 bytes) to cluster node #1 ... DONE [17:27:06.352] Exporting 'n' (35 bytes) to cluster node #1 ... [17:27:06.353] Exporting 'n' (35 bytes) to cluster node #1 ... DONE [17:27:06.353] Exporting 'C' (10.00 KiB) to cluster node #1 ... [17:27:06.354] Exporting 'C' (10.00 KiB) to cluster node #1 ... DONE [17:27:06.354] Exporting 'delay' (47.33 KiB) to cluster node #1 ... [17:27:06.355] Exporting 'delay' (47.33 KiB) to cluster node #1 ... DONE [17:27:06.356] Exporting 4 global objects (57.67 KiB) to cluster node #1 ... DONE [17:27:06.357] MultisessionFuture started [17:27:06.357] - Launch lazy future ... done [17:27:06.357] run() for 'MultisessionFuture' ... done [17:27:06.358] - run() ... done [17:27:06.358] - resolved() ... [17:27:06.414] receiveMessageFromWorker() for ClusterFuture ... [17:27:06.414] - Validating connection of MultisessionFuture [17:27:06.415] - received message: FutureResult [17:27:06.416] - Received FutureResult [17:27:06.416] - Erased future from FutureRegistry [17:27:06.416] result() for ClusterFuture ... [17:27:06.417] - result already collected: FutureResult [17:27:06.417] result() for ClusterFuture ... done [17:27:06.417] signalConditions() ... [17:27:06.417] - include = 'immediateCondition' [17:27:06.418] - exclude = [17:27:06.418] - resignal = FALSE [17:27:06.418] - Number of conditions: 2 [17:27:06.419] signalConditions() ... done [17:27:06.419] receiveMessageFromWorker() for ClusterFuture ... done [17:27:06.419] - resolved: TRUE [17:27:06.420] - resolved() ... done [17:27:06.420] resolved() for 'MultisessionFuture' ... done Plotting tile #1 of 4 ... [17:27:06.420] result() for ClusterFuture ... [17:27:06.421] - result already collected: FutureResult [17:27:06.421] result() for ClusterFuture ... done [17:27:06.421] result() for ClusterFuture ... [17:27:06.422] - result already collected: FutureResult [17:27:06.422] result() for ClusterFuture ... done [17:27:06.422] signalConditions() ... [17:27:06.422] - include = 'immediateCondition' [17:27:06.423] - exclude = [17:27:06.423] - resignal = FALSE [17:27:06.423] - Number of conditions: 2 [17:27:06.424] signalConditions() ... done [17:27:06.424] Future state: 'finished' [17:27:06.424] result() for ClusterFuture ... [17:27:06.425] - result already collected: FutureResult [17:27:06.425] result() for ClusterFuture ... done [17:27:06.425] signalConditions() ... [17:27:06.425] - include = 'condition' [17:27:06.426] - exclude = 'immediateCondition' [17:27:06.426] - resignal = TRUE [17:27:06.426] - Number of conditions: 2 [17:27:06.427] - Condition #1: 'simpleMessage', 'message', 'condition' Calculating tile #1 of 4 ...[17:27:06.427] - Condition #2: 'simpleMessage', 'message', 'condition' done [17:27:06.428] signalConditions() ... done [17:27:06.429] resolved() for 'Future' ... [17:27:06.429] - state: 'created' [17:27:06.430] - run: TRUE [17:27:06.430] - run() ... [17:27:06.430] run() for 'Future' ... [17:27:06.431] - state: 'created' [17:27:06.431] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:06.455] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:06.455] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:06.456] - Field: 'node' [17:27:06.456] - Field: 'label' [17:27:06.457] - Field: 'local' [17:27:06.457] - Field: 'owner' [17:27:06.458] - Field: 'envir' [17:27:06.458] - Field: 'workers' [17:27:06.458] - Field: 'packages' [17:27:06.459] - Field: 'gc' [17:27:06.459] - Field: 'conditions' [17:27:06.460] - Field: 'persistent' [17:27:06.460] - Field: 'expr' [17:27:06.460] - Field: 'uuid' [17:27:06.461] - Field: 'seed' [17:27:06.461] - Field: 'version' [17:27:06.461] - Field: 'result' [17:27:06.462] - Field: 'asynchronous' [17:27:06.462] - Field: 'calls' [17:27:06.463] - Field: 'globals' [17:27:06.463] - Field: 'stdout' [17:27:06.463] - Field: 'earlySignal' [17:27:06.464] - Field: 'lazy' [17:27:06.464] - Field: 'state' [17:27:06.465] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:06.465] - Launch lazy future ... [17:27:06.466] Packages needed by the future expression (n = 1): 'future' [17:27:06.466] Packages needed by future strategies (n = 0): [17:27:06.468] { [17:27:06.468] { [17:27:06.468] { [17:27:06.468] ...future.startTime <- base::Sys.time() [17:27:06.468] { [17:27:06.468] { [17:27:06.468] { [17:27:06.468] { [17:27:06.468] { [17:27:06.468] base::local({ [17:27:06.468] has_future <- base::requireNamespace("future", [17:27:06.468] quietly = TRUE) [17:27:06.468] if (has_future) { [17:27:06.468] ns <- base::getNamespace("future") [17:27:06.468] version <- ns[[".package"]][["version"]] [17:27:06.468] if (is.null(version)) [17:27:06.468] version <- utils::packageVersion("future") [17:27:06.468] } [17:27:06.468] else { [17:27:06.468] version <- NULL [17:27:06.468] } [17:27:06.468] if (!has_future || version < "1.8.0") { [17:27:06.468] info <- base::c(r_version = base::gsub("R version ", [17:27:06.468] "", base::R.version$version.string), [17:27:06.468] platform = base::sprintf("%s (%s-bit)", [17:27:06.468] base::R.version$platform, 8 * [17:27:06.468] base::.Machine$sizeof.pointer), [17:27:06.468] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:06.468] "release", "version")], collapse = " "), [17:27:06.468] hostname = base::Sys.info()[["nodename"]]) [17:27:06.468] info <- base::sprintf("%s: %s", base::names(info), [17:27:06.468] info) [17:27:06.468] info <- base::paste(info, collapse = "; ") [17:27:06.468] if (!has_future) { [17:27:06.468] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:06.468] info) [17:27:06.468] } [17:27:06.468] else { [17:27:06.468] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:06.468] info, version) [17:27:06.468] } [17:27:06.468] base::stop(msg) [17:27:06.468] } [17:27:06.468] }) [17:27:06.468] } [17:27:06.468] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:06.468] base::options(mc.cores = 1L) [17:27:06.468] } [17:27:06.468] base::local({ [17:27:06.468] for (pkg in "future") { [17:27:06.468] base::loadNamespace(pkg) [17:27:06.468] base::library(pkg, character.only = TRUE) [17:27:06.468] } [17:27:06.468] }) [17:27:06.468] } [17:27:06.468] ...future.strategy.old <- future::plan("list") [17:27:06.468] options(future.plan = NULL) [17:27:06.468] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.468] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:06.468] } [17:27:06.468] ...future.workdir <- getwd() [17:27:06.468] } [17:27:06.468] ...future.oldOptions <- base::as.list(base::.Options) [17:27:06.468] ...future.oldEnvVars <- base::Sys.getenv() [17:27:06.468] } [17:27:06.468] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:06.468] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:06.468] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:06.468] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:06.468] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:06.468] future.stdout.windows.reencode = NULL, width = 80L) [17:27:06.468] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:06.468] base::names(...future.oldOptions)) [17:27:06.468] } [17:27:06.468] if (FALSE) { [17:27:06.468] } [17:27:06.468] else { [17:27:06.468] if (TRUE) { [17:27:06.468] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:06.468] open = "w") [17:27:06.468] } [17:27:06.468] else { [17:27:06.468] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:06.468] windows = "NUL", "/dev/null"), open = "w") [17:27:06.468] } [17:27:06.468] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:06.468] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:06.468] base::sink(type = "output", split = FALSE) [17:27:06.468] base::close(...future.stdout) [17:27:06.468] }, add = TRUE) [17:27:06.468] } [17:27:06.468] ...future.frame <- base::sys.nframe() [17:27:06.468] ...future.conditions <- base::list() [17:27:06.468] ...future.rng <- base::globalenv()$.Random.seed [17:27:06.468] if (FALSE) { [17:27:06.468] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:06.468] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:06.468] } [17:27:06.468] ...future.result <- base::tryCatch({ [17:27:06.468] base::withCallingHandlers({ [17:27:06.468] ...future.value <- base::withVisible(base::local({ [17:27:06.468] ...future.makeSendCondition <- base::local({ [17:27:06.468] sendCondition <- NULL [17:27:06.468] function(frame = 1L) { [17:27:06.468] if (is.function(sendCondition)) [17:27:06.468] return(sendCondition) [17:27:06.468] ns <- getNamespace("parallel") [17:27:06.468] if (exists("sendData", mode = "function", [17:27:06.468] envir = ns)) { [17:27:06.468] parallel_sendData <- get("sendData", mode = "function", [17:27:06.468] envir = ns) [17:27:06.468] envir <- sys.frame(frame) [17:27:06.468] master <- NULL [17:27:06.468] while (!identical(envir, .GlobalEnv) && [17:27:06.468] !identical(envir, emptyenv())) { [17:27:06.468] if (exists("master", mode = "list", envir = envir, [17:27:06.468] inherits = FALSE)) { [17:27:06.468] master <- get("master", mode = "list", [17:27:06.468] envir = envir, inherits = FALSE) [17:27:06.468] if (inherits(master, c("SOCKnode", [17:27:06.468] "SOCK0node"))) { [17:27:06.468] sendCondition <<- function(cond) { [17:27:06.468] data <- list(type = "VALUE", value = cond, [17:27:06.468] success = TRUE) [17:27:06.468] parallel_sendData(master, data) [17:27:06.468] } [17:27:06.468] return(sendCondition) [17:27:06.468] } [17:27:06.468] } [17:27:06.468] frame <- frame + 1L [17:27:06.468] envir <- sys.frame(frame) [17:27:06.468] } [17:27:06.468] } [17:27:06.468] sendCondition <<- function(cond) NULL [17:27:06.468] } [17:27:06.468] }) [17:27:06.468] withCallingHandlers({ [17:27:06.468] { [17:27:06.468] message(sprintf("Calculating tile #%d of %d ...", [17:27:06.468] ii, n), appendLF = FALSE) [17:27:06.468] fit <- mandelbrot(C) [17:27:06.468] delay(fit) [17:27:06.468] message(" done") [17:27:06.468] fit [17:27:06.468] } [17:27:06.468] }, immediateCondition = function(cond) { [17:27:06.468] sendCondition <- ...future.makeSendCondition() [17:27:06.468] sendCondition(cond) [17:27:06.468] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.468] { [17:27:06.468] inherits <- base::inherits [17:27:06.468] invokeRestart <- base::invokeRestart [17:27:06.468] is.null <- base::is.null [17:27:06.468] muffled <- FALSE [17:27:06.468] if (inherits(cond, "message")) { [17:27:06.468] muffled <- grepl(pattern, "muffleMessage") [17:27:06.468] if (muffled) [17:27:06.468] invokeRestart("muffleMessage") [17:27:06.468] } [17:27:06.468] else if (inherits(cond, "warning")) { [17:27:06.468] muffled <- grepl(pattern, "muffleWarning") [17:27:06.468] if (muffled) [17:27:06.468] invokeRestart("muffleWarning") [17:27:06.468] } [17:27:06.468] else if (inherits(cond, "condition")) { [17:27:06.468] if (!is.null(pattern)) { [17:27:06.468] computeRestarts <- base::computeRestarts [17:27:06.468] grepl <- base::grepl [17:27:06.468] restarts <- computeRestarts(cond) [17:27:06.468] for (restart in restarts) { [17:27:06.468] name <- restart$name [17:27:06.468] if (is.null(name)) [17:27:06.468] next [17:27:06.468] if (!grepl(pattern, name)) [17:27:06.468] next [17:27:06.468] invokeRestart(restart) [17:27:06.468] muffled <- TRUE [17:27:06.468] break [17:27:06.468] } [17:27:06.468] } [17:27:06.468] } [17:27:06.468] invisible(muffled) [17:27:06.468] } [17:27:06.468] muffleCondition(cond) [17:27:06.468] }) [17:27:06.468] })) [17:27:06.468] future::FutureResult(value = ...future.value$value, [17:27:06.468] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.468] ...future.rng), globalenv = if (FALSE) [17:27:06.468] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:06.468] ...future.globalenv.names)) [17:27:06.468] else NULL, started = ...future.startTime, version = "1.8") [17:27:06.468] }, condition = base::local({ [17:27:06.468] c <- base::c [17:27:06.468] inherits <- base::inherits [17:27:06.468] invokeRestart <- base::invokeRestart [17:27:06.468] length <- base::length [17:27:06.468] list <- base::list [17:27:06.468] seq.int <- base::seq.int [17:27:06.468] signalCondition <- base::signalCondition [17:27:06.468] sys.calls <- base::sys.calls [17:27:06.468] `[[` <- base::`[[` [17:27:06.468] `+` <- base::`+` [17:27:06.468] `<<-` <- base::`<<-` [17:27:06.468] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:06.468] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:06.468] 3L)] [17:27:06.468] } [17:27:06.468] function(cond) { [17:27:06.468] is_error <- inherits(cond, "error") [17:27:06.468] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:06.468] NULL) [17:27:06.468] if (is_error) { [17:27:06.468] sessionInformation <- function() { [17:27:06.468] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:06.468] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:06.468] search = base::search(), system = base::Sys.info()) [17:27:06.468] } [17:27:06.468] ...future.conditions[[length(...future.conditions) + [17:27:06.468] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:06.468] cond$call), session = sessionInformation(), [17:27:06.468] timestamp = base::Sys.time(), signaled = 0L) [17:27:06.468] signalCondition(cond) [17:27:06.468] } [17:27:06.468] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:06.468] "immediateCondition"))) { [17:27:06.468] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:06.468] ...future.conditions[[length(...future.conditions) + [17:27:06.468] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:06.468] if (TRUE && !signal) { [17:27:06.468] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.468] { [17:27:06.468] inherits <- base::inherits [17:27:06.468] invokeRestart <- base::invokeRestart [17:27:06.468] is.null <- base::is.null [17:27:06.468] muffled <- FALSE [17:27:06.468] if (inherits(cond, "message")) { [17:27:06.468] muffled <- grepl(pattern, "muffleMessage") [17:27:06.468] if (muffled) [17:27:06.468] invokeRestart("muffleMessage") [17:27:06.468] } [17:27:06.468] else if (inherits(cond, "warning")) { [17:27:06.468] muffled <- grepl(pattern, "muffleWarning") [17:27:06.468] if (muffled) [17:27:06.468] invokeRestart("muffleWarning") [17:27:06.468] } [17:27:06.468] else if (inherits(cond, "condition")) { [17:27:06.468] if (!is.null(pattern)) { [17:27:06.468] computeRestarts <- base::computeRestarts [17:27:06.468] grepl <- base::grepl [17:27:06.468] restarts <- computeRestarts(cond) [17:27:06.468] for (restart in restarts) { [17:27:06.468] name <- restart$name [17:27:06.468] if (is.null(name)) [17:27:06.468] next [17:27:06.468] if (!grepl(pattern, name)) [17:27:06.468] next [17:27:06.468] invokeRestart(restart) [17:27:06.468] muffled <- TRUE [17:27:06.468] break [17:27:06.468] } [17:27:06.468] } [17:27:06.468] } [17:27:06.468] invisible(muffled) [17:27:06.468] } [17:27:06.468] muffleCondition(cond, pattern = "^muffle") [17:27:06.468] } [17:27:06.468] } [17:27:06.468] else { [17:27:06.468] if (TRUE) { [17:27:06.468] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.468] { [17:27:06.468] inherits <- base::inherits [17:27:06.468] invokeRestart <- base::invokeRestart [17:27:06.468] is.null <- base::is.null [17:27:06.468] muffled <- FALSE [17:27:06.468] if (inherits(cond, "message")) { [17:27:06.468] muffled <- grepl(pattern, "muffleMessage") [17:27:06.468] if (muffled) [17:27:06.468] invokeRestart("muffleMessage") [17:27:06.468] } [17:27:06.468] else if (inherits(cond, "warning")) { [17:27:06.468] muffled <- grepl(pattern, "muffleWarning") [17:27:06.468] if (muffled) [17:27:06.468] invokeRestart("muffleWarning") [17:27:06.468] } [17:27:06.468] else if (inherits(cond, "condition")) { [17:27:06.468] if (!is.null(pattern)) { [17:27:06.468] computeRestarts <- base::computeRestarts [17:27:06.468] grepl <- base::grepl [17:27:06.468] restarts <- computeRestarts(cond) [17:27:06.468] for (restart in restarts) { [17:27:06.468] name <- restart$name [17:27:06.468] if (is.null(name)) [17:27:06.468] next [17:27:06.468] if (!grepl(pattern, name)) [17:27:06.468] next [17:27:06.468] invokeRestart(restart) [17:27:06.468] muffled <- TRUE [17:27:06.468] break [17:27:06.468] } [17:27:06.468] } [17:27:06.468] } [17:27:06.468] invisible(muffled) [17:27:06.468] } [17:27:06.468] muffleCondition(cond, pattern = "^muffle") [17:27:06.468] } [17:27:06.468] } [17:27:06.468] } [17:27:06.468] })) [17:27:06.468] }, error = function(ex) { [17:27:06.468] base::structure(base::list(value = NULL, visible = NULL, [17:27:06.468] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.468] ...future.rng), started = ...future.startTime, [17:27:06.468] finished = Sys.time(), session_uuid = NA_character_, [17:27:06.468] version = "1.8"), class = "FutureResult") [17:27:06.468] }, finally = { [17:27:06.468] if (!identical(...future.workdir, getwd())) [17:27:06.468] setwd(...future.workdir) [17:27:06.468] { [17:27:06.468] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:06.468] ...future.oldOptions$nwarnings <- NULL [17:27:06.468] } [17:27:06.468] base::options(...future.oldOptions) [17:27:06.468] if (.Platform$OS.type == "windows") { [17:27:06.468] old_names <- names(...future.oldEnvVars) [17:27:06.468] envs <- base::Sys.getenv() [17:27:06.468] names <- names(envs) [17:27:06.468] common <- intersect(names, old_names) [17:27:06.468] added <- setdiff(names, old_names) [17:27:06.468] removed <- setdiff(old_names, names) [17:27:06.468] changed <- common[...future.oldEnvVars[common] != [17:27:06.468] envs[common]] [17:27:06.468] NAMES <- toupper(changed) [17:27:06.468] args <- list() [17:27:06.468] for (kk in seq_along(NAMES)) { [17:27:06.468] name <- changed[[kk]] [17:27:06.468] NAME <- NAMES[[kk]] [17:27:06.468] if (name != NAME && is.element(NAME, old_names)) [17:27:06.468] next [17:27:06.468] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.468] } [17:27:06.468] NAMES <- toupper(added) [17:27:06.468] for (kk in seq_along(NAMES)) { [17:27:06.468] name <- added[[kk]] [17:27:06.468] NAME <- NAMES[[kk]] [17:27:06.468] if (name != NAME && is.element(NAME, old_names)) [17:27:06.468] next [17:27:06.468] args[[name]] <- "" [17:27:06.468] } [17:27:06.468] NAMES <- toupper(removed) [17:27:06.468] for (kk in seq_along(NAMES)) { [17:27:06.468] name <- removed[[kk]] [17:27:06.468] NAME <- NAMES[[kk]] [17:27:06.468] if (name != NAME && is.element(NAME, old_names)) [17:27:06.468] next [17:27:06.468] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.468] } [17:27:06.468] if (length(args) > 0) [17:27:06.468] base::do.call(base::Sys.setenv, args = args) [17:27:06.468] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:06.468] } [17:27:06.468] else { [17:27:06.468] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:06.468] } [17:27:06.468] { [17:27:06.468] if (base::length(...future.futureOptionsAdded) > [17:27:06.468] 0L) { [17:27:06.468] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:06.468] base::names(opts) <- ...future.futureOptionsAdded [17:27:06.468] base::options(opts) [17:27:06.468] } [17:27:06.468] { [17:27:06.468] { [17:27:06.468] base::options(mc.cores = ...future.mc.cores.old) [17:27:06.468] NULL [17:27:06.468] } [17:27:06.468] options(future.plan = NULL) [17:27:06.468] if (is.na(NA_character_)) [17:27:06.468] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.468] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:06.468] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:06.468] .init = FALSE) [17:27:06.468] } [17:27:06.468] } [17:27:06.468] } [17:27:06.468] }) [17:27:06.468] if (TRUE) { [17:27:06.468] base::sink(type = "output", split = FALSE) [17:27:06.468] if (TRUE) { [17:27:06.468] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:06.468] } [17:27:06.468] else { [17:27:06.468] ...future.result["stdout"] <- base::list(NULL) [17:27:06.468] } [17:27:06.468] base::close(...future.stdout) [17:27:06.468] ...future.stdout <- NULL [17:27:06.468] } [17:27:06.468] ...future.result$conditions <- ...future.conditions [17:27:06.468] ...future.result$finished <- base::Sys.time() [17:27:06.468] ...future.result [17:27:06.468] } [17:27:06.479] Exporting 4 global objects (57.67 KiB) to cluster node #1 ... [17:27:06.479] Exporting 'ii' (35 bytes) to cluster node #1 ... [17:27:06.480] Exporting 'ii' (35 bytes) to cluster node #1 ... DONE [17:27:06.481] Exporting 'n' (35 bytes) to cluster node #1 ... [17:27:06.482] Exporting 'n' (35 bytes) to cluster node #1 ... DONE [17:27:06.482] Exporting 'C' (10.00 KiB) to cluster node #1 ... [17:27:06.483] Exporting 'C' (10.00 KiB) to cluster node #1 ... DONE [17:27:06.484] Exporting 'delay' (47.33 KiB) to cluster node #1 ... [17:27:06.485] Exporting 'delay' (47.33 KiB) to cluster node #1 ... DONE [17:27:06.485] Exporting 4 global objects (57.67 KiB) to cluster node #1 ... DONE [17:27:06.487] MultisessionFuture started [17:27:06.487] - Launch lazy future ... done [17:27:06.487] run() for 'MultisessionFuture' ... done [17:27:06.488] - run() ... done [17:27:06.488] - resolved() ... [17:27:06.540] receiveMessageFromWorker() for ClusterFuture ... [17:27:06.541] - Validating connection of MultisessionFuture [17:27:06.542] - received message: FutureResult [17:27:06.542] - Received FutureResult [17:27:06.542] - Erased future from FutureRegistry [17:27:06.543] result() for ClusterFuture ... [17:27:06.543] - result already collected: FutureResult [17:27:06.543] result() for ClusterFuture ... done [17:27:06.543] signalConditions() ... [17:27:06.543] - include = 'immediateCondition' [17:27:06.544] - exclude = [17:27:06.544] - resignal = FALSE [17:27:06.544] - Number of conditions: 2 [17:27:06.544] signalConditions() ... done [17:27:06.544] receiveMessageFromWorker() for ClusterFuture ... done [17:27:06.545] - resolved: TRUE [17:27:06.545] - resolved() ... done [17:27:06.545] resolved() for 'MultisessionFuture' ... done Plotting tile #2 of 4 ... [17:27:06.545] result() for ClusterFuture ... [17:27:06.546] - result already collected: FutureResult [17:27:06.546] result() for ClusterFuture ... done [17:27:06.546] result() for ClusterFuture ... [17:27:06.546] - result already collected: FutureResult [17:27:06.546] result() for ClusterFuture ... done [17:27:06.547] signalConditions() ... [17:27:06.547] - include = 'immediateCondition' [17:27:06.547] - exclude = [17:27:06.547] - resignal = FALSE [17:27:06.548] - Number of conditions: 2 [17:27:06.548] signalConditions() ... done [17:27:06.549] Future state: 'finished' [17:27:06.549] result() for ClusterFuture ... [17:27:06.549] - result already collected: FutureResult [17:27:06.549] result() for ClusterFuture ... done [17:27:06.550] signalConditions() ... [17:27:06.550] - include = 'condition' [17:27:06.550] - exclude = 'immediateCondition' [17:27:06.550] - resignal = TRUE [17:27:06.550] - Number of conditions: 2 [17:27:06.551] - Condition #1: 'simpleMessage', 'message', 'condition' Calculating tile #2 of 4 ...[17:27:06.551] - Condition #2: 'simpleMessage', 'message', 'condition' done [17:27:06.551] signalConditions() ... done [17:27:06.553] resolved() for 'Future' ... [17:27:06.553] - state: 'created' [17:27:06.553] - run: TRUE [17:27:06.553] - run() ... [17:27:06.554] run() for 'Future' ... [17:27:06.554] - state: 'created' [17:27:06.554] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:06.572] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:06.573] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:06.573] - Field: 'node' [17:27:06.573] - Field: 'label' [17:27:06.574] - Field: 'local' [17:27:06.574] - Field: 'owner' [17:27:06.574] - Field: 'envir' [17:27:06.575] - Field: 'workers' [17:27:06.575] - Field: 'packages' [17:27:06.575] - Field: 'gc' [17:27:06.575] - Field: 'conditions' [17:27:06.576] - Field: 'persistent' [17:27:06.576] - Field: 'expr' [17:27:06.576] - Field: 'uuid' [17:27:06.576] - Field: 'seed' [17:27:06.577] - Field: 'version' [17:27:06.577] - Field: 'result' [17:27:06.577] - Field: 'asynchronous' [17:27:06.577] - Field: 'calls' [17:27:06.578] - Field: 'globals' [17:27:06.578] - Field: 'stdout' [17:27:06.578] - Field: 'earlySignal' [17:27:06.578] - Field: 'lazy' [17:27:06.579] - Field: 'state' [17:27:06.579] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:06.579] - Launch lazy future ... [17:27:06.580] Packages needed by the future expression (n = 1): 'future' [17:27:06.580] Packages needed by future strategies (n = 0): [17:27:06.581] { [17:27:06.581] { [17:27:06.581] { [17:27:06.581] ...future.startTime <- base::Sys.time() [17:27:06.581] { [17:27:06.581] { [17:27:06.581] { [17:27:06.581] { [17:27:06.581] { [17:27:06.581] base::local({ [17:27:06.581] has_future <- base::requireNamespace("future", [17:27:06.581] quietly = TRUE) [17:27:06.581] if (has_future) { [17:27:06.581] ns <- base::getNamespace("future") [17:27:06.581] version <- ns[[".package"]][["version"]] [17:27:06.581] if (is.null(version)) [17:27:06.581] version <- utils::packageVersion("future") [17:27:06.581] } [17:27:06.581] else { [17:27:06.581] version <- NULL [17:27:06.581] } [17:27:06.581] if (!has_future || version < "1.8.0") { [17:27:06.581] info <- base::c(r_version = base::gsub("R version ", [17:27:06.581] "", base::R.version$version.string), [17:27:06.581] platform = base::sprintf("%s (%s-bit)", [17:27:06.581] base::R.version$platform, 8 * [17:27:06.581] base::.Machine$sizeof.pointer), [17:27:06.581] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:06.581] "release", "version")], collapse = " "), [17:27:06.581] hostname = base::Sys.info()[["nodename"]]) [17:27:06.581] info <- base::sprintf("%s: %s", base::names(info), [17:27:06.581] info) [17:27:06.581] info <- base::paste(info, collapse = "; ") [17:27:06.581] if (!has_future) { [17:27:06.581] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:06.581] info) [17:27:06.581] } [17:27:06.581] else { [17:27:06.581] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:06.581] info, version) [17:27:06.581] } [17:27:06.581] base::stop(msg) [17:27:06.581] } [17:27:06.581] }) [17:27:06.581] } [17:27:06.581] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:06.581] base::options(mc.cores = 1L) [17:27:06.581] } [17:27:06.581] base::local({ [17:27:06.581] for (pkg in "future") { [17:27:06.581] base::loadNamespace(pkg) [17:27:06.581] base::library(pkg, character.only = TRUE) [17:27:06.581] } [17:27:06.581] }) [17:27:06.581] } [17:27:06.581] ...future.strategy.old <- future::plan("list") [17:27:06.581] options(future.plan = NULL) [17:27:06.581] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.581] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:06.581] } [17:27:06.581] ...future.workdir <- getwd() [17:27:06.581] } [17:27:06.581] ...future.oldOptions <- base::as.list(base::.Options) [17:27:06.581] ...future.oldEnvVars <- base::Sys.getenv() [17:27:06.581] } [17:27:06.581] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:06.581] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:06.581] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:06.581] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:06.581] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:06.581] future.stdout.windows.reencode = NULL, width = 80L) [17:27:06.581] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:06.581] base::names(...future.oldOptions)) [17:27:06.581] } [17:27:06.581] if (FALSE) { [17:27:06.581] } [17:27:06.581] else { [17:27:06.581] if (TRUE) { [17:27:06.581] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:06.581] open = "w") [17:27:06.581] } [17:27:06.581] else { [17:27:06.581] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:06.581] windows = "NUL", "/dev/null"), open = "w") [17:27:06.581] } [17:27:06.581] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:06.581] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:06.581] base::sink(type = "output", split = FALSE) [17:27:06.581] base::close(...future.stdout) [17:27:06.581] }, add = TRUE) [17:27:06.581] } [17:27:06.581] ...future.frame <- base::sys.nframe() [17:27:06.581] ...future.conditions <- base::list() [17:27:06.581] ...future.rng <- base::globalenv()$.Random.seed [17:27:06.581] if (FALSE) { [17:27:06.581] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:06.581] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:06.581] } [17:27:06.581] ...future.result <- base::tryCatch({ [17:27:06.581] base::withCallingHandlers({ [17:27:06.581] ...future.value <- base::withVisible(base::local({ [17:27:06.581] ...future.makeSendCondition <- base::local({ [17:27:06.581] sendCondition <- NULL [17:27:06.581] function(frame = 1L) { [17:27:06.581] if (is.function(sendCondition)) [17:27:06.581] return(sendCondition) [17:27:06.581] ns <- getNamespace("parallel") [17:27:06.581] if (exists("sendData", mode = "function", [17:27:06.581] envir = ns)) { [17:27:06.581] parallel_sendData <- get("sendData", mode = "function", [17:27:06.581] envir = ns) [17:27:06.581] envir <- sys.frame(frame) [17:27:06.581] master <- NULL [17:27:06.581] while (!identical(envir, .GlobalEnv) && [17:27:06.581] !identical(envir, emptyenv())) { [17:27:06.581] if (exists("master", mode = "list", envir = envir, [17:27:06.581] inherits = FALSE)) { [17:27:06.581] master <- get("master", mode = "list", [17:27:06.581] envir = envir, inherits = FALSE) [17:27:06.581] if (inherits(master, c("SOCKnode", [17:27:06.581] "SOCK0node"))) { [17:27:06.581] sendCondition <<- function(cond) { [17:27:06.581] data <- list(type = "VALUE", value = cond, [17:27:06.581] success = TRUE) [17:27:06.581] parallel_sendData(master, data) [17:27:06.581] } [17:27:06.581] return(sendCondition) [17:27:06.581] } [17:27:06.581] } [17:27:06.581] frame <- frame + 1L [17:27:06.581] envir <- sys.frame(frame) [17:27:06.581] } [17:27:06.581] } [17:27:06.581] sendCondition <<- function(cond) NULL [17:27:06.581] } [17:27:06.581] }) [17:27:06.581] withCallingHandlers({ [17:27:06.581] { [17:27:06.581] message(sprintf("Calculating tile #%d of %d ...", [17:27:06.581] ii, n), appendLF = FALSE) [17:27:06.581] fit <- mandelbrot(C) [17:27:06.581] delay(fit) [17:27:06.581] message(" done") [17:27:06.581] fit [17:27:06.581] } [17:27:06.581] }, immediateCondition = function(cond) { [17:27:06.581] sendCondition <- ...future.makeSendCondition() [17:27:06.581] sendCondition(cond) [17:27:06.581] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.581] { [17:27:06.581] inherits <- base::inherits [17:27:06.581] invokeRestart <- base::invokeRestart [17:27:06.581] is.null <- base::is.null [17:27:06.581] muffled <- FALSE [17:27:06.581] if (inherits(cond, "message")) { [17:27:06.581] muffled <- grepl(pattern, "muffleMessage") [17:27:06.581] if (muffled) [17:27:06.581] invokeRestart("muffleMessage") [17:27:06.581] } [17:27:06.581] else if (inherits(cond, "warning")) { [17:27:06.581] muffled <- grepl(pattern, "muffleWarning") [17:27:06.581] if (muffled) [17:27:06.581] invokeRestart("muffleWarning") [17:27:06.581] } [17:27:06.581] else if (inherits(cond, "condition")) { [17:27:06.581] if (!is.null(pattern)) { [17:27:06.581] computeRestarts <- base::computeRestarts [17:27:06.581] grepl <- base::grepl [17:27:06.581] restarts <- computeRestarts(cond) [17:27:06.581] for (restart in restarts) { [17:27:06.581] name <- restart$name [17:27:06.581] if (is.null(name)) [17:27:06.581] next [17:27:06.581] if (!grepl(pattern, name)) [17:27:06.581] next [17:27:06.581] invokeRestart(restart) [17:27:06.581] muffled <- TRUE [17:27:06.581] break [17:27:06.581] } [17:27:06.581] } [17:27:06.581] } [17:27:06.581] invisible(muffled) [17:27:06.581] } [17:27:06.581] muffleCondition(cond) [17:27:06.581] }) [17:27:06.581] })) [17:27:06.581] future::FutureResult(value = ...future.value$value, [17:27:06.581] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.581] ...future.rng), globalenv = if (FALSE) [17:27:06.581] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:06.581] ...future.globalenv.names)) [17:27:06.581] else NULL, started = ...future.startTime, version = "1.8") [17:27:06.581] }, condition = base::local({ [17:27:06.581] c <- base::c [17:27:06.581] inherits <- base::inherits [17:27:06.581] invokeRestart <- base::invokeRestart [17:27:06.581] length <- base::length [17:27:06.581] list <- base::list [17:27:06.581] seq.int <- base::seq.int [17:27:06.581] signalCondition <- base::signalCondition [17:27:06.581] sys.calls <- base::sys.calls [17:27:06.581] `[[` <- base::`[[` [17:27:06.581] `+` <- base::`+` [17:27:06.581] `<<-` <- base::`<<-` [17:27:06.581] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:06.581] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:06.581] 3L)] [17:27:06.581] } [17:27:06.581] function(cond) { [17:27:06.581] is_error <- inherits(cond, "error") [17:27:06.581] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:06.581] NULL) [17:27:06.581] if (is_error) { [17:27:06.581] sessionInformation <- function() { [17:27:06.581] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:06.581] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:06.581] search = base::search(), system = base::Sys.info()) [17:27:06.581] } [17:27:06.581] ...future.conditions[[length(...future.conditions) + [17:27:06.581] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:06.581] cond$call), session = sessionInformation(), [17:27:06.581] timestamp = base::Sys.time(), signaled = 0L) [17:27:06.581] signalCondition(cond) [17:27:06.581] } [17:27:06.581] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:06.581] "immediateCondition"))) { [17:27:06.581] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:06.581] ...future.conditions[[length(...future.conditions) + [17:27:06.581] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:06.581] if (TRUE && !signal) { [17:27:06.581] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.581] { [17:27:06.581] inherits <- base::inherits [17:27:06.581] invokeRestart <- base::invokeRestart [17:27:06.581] is.null <- base::is.null [17:27:06.581] muffled <- FALSE [17:27:06.581] if (inherits(cond, "message")) { [17:27:06.581] muffled <- grepl(pattern, "muffleMessage") [17:27:06.581] if (muffled) [17:27:06.581] invokeRestart("muffleMessage") [17:27:06.581] } [17:27:06.581] else if (inherits(cond, "warning")) { [17:27:06.581] muffled <- grepl(pattern, "muffleWarning") [17:27:06.581] if (muffled) [17:27:06.581] invokeRestart("muffleWarning") [17:27:06.581] } [17:27:06.581] else if (inherits(cond, "condition")) { [17:27:06.581] if (!is.null(pattern)) { [17:27:06.581] computeRestarts <- base::computeRestarts [17:27:06.581] grepl <- base::grepl [17:27:06.581] restarts <- computeRestarts(cond) [17:27:06.581] for (restart in restarts) { [17:27:06.581] name <- restart$name [17:27:06.581] if (is.null(name)) [17:27:06.581] next [17:27:06.581] if (!grepl(pattern, name)) [17:27:06.581] next [17:27:06.581] invokeRestart(restart) [17:27:06.581] muffled <- TRUE [17:27:06.581] break [17:27:06.581] } [17:27:06.581] } [17:27:06.581] } [17:27:06.581] invisible(muffled) [17:27:06.581] } [17:27:06.581] muffleCondition(cond, pattern = "^muffle") [17:27:06.581] } [17:27:06.581] } [17:27:06.581] else { [17:27:06.581] if (TRUE) { [17:27:06.581] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.581] { [17:27:06.581] inherits <- base::inherits [17:27:06.581] invokeRestart <- base::invokeRestart [17:27:06.581] is.null <- base::is.null [17:27:06.581] muffled <- FALSE [17:27:06.581] if (inherits(cond, "message")) { [17:27:06.581] muffled <- grepl(pattern, "muffleMessage") [17:27:06.581] if (muffled) [17:27:06.581] invokeRestart("muffleMessage") [17:27:06.581] } [17:27:06.581] else if (inherits(cond, "warning")) { [17:27:06.581] muffled <- grepl(pattern, "muffleWarning") [17:27:06.581] if (muffled) [17:27:06.581] invokeRestart("muffleWarning") [17:27:06.581] } [17:27:06.581] else if (inherits(cond, "condition")) { [17:27:06.581] if (!is.null(pattern)) { [17:27:06.581] computeRestarts <- base::computeRestarts [17:27:06.581] grepl <- base::grepl [17:27:06.581] restarts <- computeRestarts(cond) [17:27:06.581] for (restart in restarts) { [17:27:06.581] name <- restart$name [17:27:06.581] if (is.null(name)) [17:27:06.581] next [17:27:06.581] if (!grepl(pattern, name)) [17:27:06.581] next [17:27:06.581] invokeRestart(restart) [17:27:06.581] muffled <- TRUE [17:27:06.581] break [17:27:06.581] } [17:27:06.581] } [17:27:06.581] } [17:27:06.581] invisible(muffled) [17:27:06.581] } [17:27:06.581] muffleCondition(cond, pattern = "^muffle") [17:27:06.581] } [17:27:06.581] } [17:27:06.581] } [17:27:06.581] })) [17:27:06.581] }, error = function(ex) { [17:27:06.581] base::structure(base::list(value = NULL, visible = NULL, [17:27:06.581] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.581] ...future.rng), started = ...future.startTime, [17:27:06.581] finished = Sys.time(), session_uuid = NA_character_, [17:27:06.581] version = "1.8"), class = "FutureResult") [17:27:06.581] }, finally = { [17:27:06.581] if (!identical(...future.workdir, getwd())) [17:27:06.581] setwd(...future.workdir) [17:27:06.581] { [17:27:06.581] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:06.581] ...future.oldOptions$nwarnings <- NULL [17:27:06.581] } [17:27:06.581] base::options(...future.oldOptions) [17:27:06.581] if (.Platform$OS.type == "windows") { [17:27:06.581] old_names <- names(...future.oldEnvVars) [17:27:06.581] envs <- base::Sys.getenv() [17:27:06.581] names <- names(envs) [17:27:06.581] common <- intersect(names, old_names) [17:27:06.581] added <- setdiff(names, old_names) [17:27:06.581] removed <- setdiff(old_names, names) [17:27:06.581] changed <- common[...future.oldEnvVars[common] != [17:27:06.581] envs[common]] [17:27:06.581] NAMES <- toupper(changed) [17:27:06.581] args <- list() [17:27:06.581] for (kk in seq_along(NAMES)) { [17:27:06.581] name <- changed[[kk]] [17:27:06.581] NAME <- NAMES[[kk]] [17:27:06.581] if (name != NAME && is.element(NAME, old_names)) [17:27:06.581] next [17:27:06.581] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.581] } [17:27:06.581] NAMES <- toupper(added) [17:27:06.581] for (kk in seq_along(NAMES)) { [17:27:06.581] name <- added[[kk]] [17:27:06.581] NAME <- NAMES[[kk]] [17:27:06.581] if (name != NAME && is.element(NAME, old_names)) [17:27:06.581] next [17:27:06.581] args[[name]] <- "" [17:27:06.581] } [17:27:06.581] NAMES <- toupper(removed) [17:27:06.581] for (kk in seq_along(NAMES)) { [17:27:06.581] name <- removed[[kk]] [17:27:06.581] NAME <- NAMES[[kk]] [17:27:06.581] if (name != NAME && is.element(NAME, old_names)) [17:27:06.581] next [17:27:06.581] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.581] } [17:27:06.581] if (length(args) > 0) [17:27:06.581] base::do.call(base::Sys.setenv, args = args) [17:27:06.581] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:06.581] } [17:27:06.581] else { [17:27:06.581] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:06.581] } [17:27:06.581] { [17:27:06.581] if (base::length(...future.futureOptionsAdded) > [17:27:06.581] 0L) { [17:27:06.581] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:06.581] base::names(opts) <- ...future.futureOptionsAdded [17:27:06.581] base::options(opts) [17:27:06.581] } [17:27:06.581] { [17:27:06.581] { [17:27:06.581] base::options(mc.cores = ...future.mc.cores.old) [17:27:06.581] NULL [17:27:06.581] } [17:27:06.581] options(future.plan = NULL) [17:27:06.581] if (is.na(NA_character_)) [17:27:06.581] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.581] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:06.581] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:06.581] .init = FALSE) [17:27:06.581] } [17:27:06.581] } [17:27:06.581] } [17:27:06.581] }) [17:27:06.581] if (TRUE) { [17:27:06.581] base::sink(type = "output", split = FALSE) [17:27:06.581] if (TRUE) { [17:27:06.581] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:06.581] } [17:27:06.581] else { [17:27:06.581] ...future.result["stdout"] <- base::list(NULL) [17:27:06.581] } [17:27:06.581] base::close(...future.stdout) [17:27:06.581] ...future.stdout <- NULL [17:27:06.581] } [17:27:06.581] ...future.result$conditions <- ...future.conditions [17:27:06.581] ...future.result$finished <- base::Sys.time() [17:27:06.581] ...future.result [17:27:06.581] } [17:27:06.590] Exporting 4 global objects (57.67 KiB) to cluster node #1 ... [17:27:06.590] Exporting 'ii' (35 bytes) to cluster node #1 ... [17:27:06.591] Exporting 'ii' (35 bytes) to cluster node #1 ... DONE [17:27:06.591] Exporting 'n' (35 bytes) to cluster node #1 ... [17:27:06.592] Exporting 'n' (35 bytes) to cluster node #1 ... DONE [17:27:06.592] Exporting 'C' (10.00 KiB) to cluster node #1 ... [17:27:06.593] Exporting 'C' (10.00 KiB) to cluster node #1 ... DONE [17:27:06.593] Exporting 'delay' (47.33 KiB) to cluster node #1 ... [17:27:06.595] Exporting 'delay' (47.33 KiB) to cluster node #1 ... DONE [17:27:06.595] Exporting 4 global objects (57.67 KiB) to cluster node #1 ... DONE [17:27:06.597] MultisessionFuture started [17:27:06.597] - Launch lazy future ... done [17:27:06.597] run() for 'MultisessionFuture' ... done [17:27:06.597] - run() ... done [17:27:06.598] - resolved() ... [17:27:06.649] receiveMessageFromWorker() for ClusterFuture ... [17:27:06.650] - Validating connection of MultisessionFuture [17:27:06.650] - received message: FutureResult [17:27:06.650] - Received FutureResult [17:27:06.651] - Erased future from FutureRegistry [17:27:06.651] result() for ClusterFuture ... [17:27:06.651] - result already collected: FutureResult [17:27:06.651] result() for ClusterFuture ... done [17:27:06.651] signalConditions() ... [17:27:06.651] - include = 'immediateCondition' [17:27:06.652] - exclude = [17:27:06.652] - resignal = FALSE [17:27:06.652] - Number of conditions: 2 [17:27:06.652] signalConditions() ... done [17:27:06.652] receiveMessageFromWorker() for ClusterFuture ... done [17:27:06.652] - resolved: TRUE [17:27:06.653] - resolved() ... done [17:27:06.653] resolved() for 'MultisessionFuture' ... done Plotting tile #3 of 4 ... [17:27:06.653] result() for ClusterFuture ... [17:27:06.653] - result already collected: FutureResult [17:27:06.653] result() for ClusterFuture ... done [17:27:06.654] result() for ClusterFuture ... [17:27:06.654] - result already collected: FutureResult [17:27:06.654] result() for ClusterFuture ... done [17:27:06.654] signalConditions() ... [17:27:06.654] - include = 'immediateCondition' [17:27:06.654] - exclude = [17:27:06.655] - resignal = FALSE [17:27:06.655] - Number of conditions: 2 [17:27:06.655] signalConditions() ... done [17:27:06.655] Future state: 'finished' [17:27:06.655] result() for ClusterFuture ... [17:27:06.656] - result already collected: FutureResult [17:27:06.656] result() for ClusterFuture ... done [17:27:06.656] signalConditions() ... [17:27:06.656] - include = 'condition' [17:27:06.656] - exclude = 'immediateCondition' [17:27:06.656] - resignal = TRUE [17:27:06.657] - Number of conditions: 2 [17:27:06.657] - Condition #1: 'simpleMessage', 'message', 'condition' Calculating tile #3 of 4 ...[17:27:06.657] - Condition #2: 'simpleMessage', 'message', 'condition' done [17:27:06.657] signalConditions() ... done [17:27:06.658] resolved() for 'Future' ... [17:27:06.658] - state: 'created' [17:27:06.659] - run: TRUE [17:27:06.659] - run() ... [17:27:06.659] run() for 'Future' ... [17:27:06.659] - state: 'created' [17:27:06.659] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:06.675] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:06.676] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:06.676] - Field: 'node' [17:27:06.676] - Field: 'label' [17:27:06.676] - Field: 'local' [17:27:06.676] - Field: 'owner' [17:27:06.677] - Field: 'envir' [17:27:06.677] - Field: 'workers' [17:27:06.677] - Field: 'packages' [17:27:06.677] - Field: 'gc' [17:27:06.677] - Field: 'conditions' [17:27:06.677] - Field: 'persistent' [17:27:06.678] - Field: 'expr' [17:27:06.678] - Field: 'uuid' [17:27:06.678] - Field: 'seed' [17:27:06.678] - Field: 'version' [17:27:06.678] - Field: 'result' [17:27:06.679] - Field: 'asynchronous' [17:27:06.679] - Field: 'calls' [17:27:06.679] - Field: 'globals' [17:27:06.679] - Field: 'stdout' [17:27:06.679] - Field: 'earlySignal' [17:27:06.679] - Field: 'lazy' [17:27:06.680] - Field: 'state' [17:27:06.680] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:06.680] - Launch lazy future ... [17:27:06.681] Packages needed by the future expression (n = 1): 'future' [17:27:06.681] Packages needed by future strategies (n = 0): [17:27:06.682] { [17:27:06.682] { [17:27:06.682] { [17:27:06.682] ...future.startTime <- base::Sys.time() [17:27:06.682] { [17:27:06.682] { [17:27:06.682] { [17:27:06.682] { [17:27:06.682] { [17:27:06.682] base::local({ [17:27:06.682] has_future <- base::requireNamespace("future", [17:27:06.682] quietly = TRUE) [17:27:06.682] if (has_future) { [17:27:06.682] ns <- base::getNamespace("future") [17:27:06.682] version <- ns[[".package"]][["version"]] [17:27:06.682] if (is.null(version)) [17:27:06.682] version <- utils::packageVersion("future") [17:27:06.682] } [17:27:06.682] else { [17:27:06.682] version <- NULL [17:27:06.682] } [17:27:06.682] if (!has_future || version < "1.8.0") { [17:27:06.682] info <- base::c(r_version = base::gsub("R version ", [17:27:06.682] "", base::R.version$version.string), [17:27:06.682] platform = base::sprintf("%s (%s-bit)", [17:27:06.682] base::R.version$platform, 8 * [17:27:06.682] base::.Machine$sizeof.pointer), [17:27:06.682] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:06.682] "release", "version")], collapse = " "), [17:27:06.682] hostname = base::Sys.info()[["nodename"]]) [17:27:06.682] info <- base::sprintf("%s: %s", base::names(info), [17:27:06.682] info) [17:27:06.682] info <- base::paste(info, collapse = "; ") [17:27:06.682] if (!has_future) { [17:27:06.682] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:06.682] info) [17:27:06.682] } [17:27:06.682] else { [17:27:06.682] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:06.682] info, version) [17:27:06.682] } [17:27:06.682] base::stop(msg) [17:27:06.682] } [17:27:06.682] }) [17:27:06.682] } [17:27:06.682] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:06.682] base::options(mc.cores = 1L) [17:27:06.682] } [17:27:06.682] base::local({ [17:27:06.682] for (pkg in "future") { [17:27:06.682] base::loadNamespace(pkg) [17:27:06.682] base::library(pkg, character.only = TRUE) [17:27:06.682] } [17:27:06.682] }) [17:27:06.682] } [17:27:06.682] ...future.strategy.old <- future::plan("list") [17:27:06.682] options(future.plan = NULL) [17:27:06.682] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.682] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:06.682] } [17:27:06.682] ...future.workdir <- getwd() [17:27:06.682] } [17:27:06.682] ...future.oldOptions <- base::as.list(base::.Options) [17:27:06.682] ...future.oldEnvVars <- base::Sys.getenv() [17:27:06.682] } [17:27:06.682] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:06.682] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:06.682] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:06.682] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:06.682] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:06.682] future.stdout.windows.reencode = NULL, width = 80L) [17:27:06.682] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:06.682] base::names(...future.oldOptions)) [17:27:06.682] } [17:27:06.682] if (FALSE) { [17:27:06.682] } [17:27:06.682] else { [17:27:06.682] if (TRUE) { [17:27:06.682] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:06.682] open = "w") [17:27:06.682] } [17:27:06.682] else { [17:27:06.682] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:06.682] windows = "NUL", "/dev/null"), open = "w") [17:27:06.682] } [17:27:06.682] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:06.682] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:06.682] base::sink(type = "output", split = FALSE) [17:27:06.682] base::close(...future.stdout) [17:27:06.682] }, add = TRUE) [17:27:06.682] } [17:27:06.682] ...future.frame <- base::sys.nframe() [17:27:06.682] ...future.conditions <- base::list() [17:27:06.682] ...future.rng <- base::globalenv()$.Random.seed [17:27:06.682] if (FALSE) { [17:27:06.682] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:06.682] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:06.682] } [17:27:06.682] ...future.result <- base::tryCatch({ [17:27:06.682] base::withCallingHandlers({ [17:27:06.682] ...future.value <- base::withVisible(base::local({ [17:27:06.682] ...future.makeSendCondition <- base::local({ [17:27:06.682] sendCondition <- NULL [17:27:06.682] function(frame = 1L) { [17:27:06.682] if (is.function(sendCondition)) [17:27:06.682] return(sendCondition) [17:27:06.682] ns <- getNamespace("parallel") [17:27:06.682] if (exists("sendData", mode = "function", [17:27:06.682] envir = ns)) { [17:27:06.682] parallel_sendData <- get("sendData", mode = "function", [17:27:06.682] envir = ns) [17:27:06.682] envir <- sys.frame(frame) [17:27:06.682] master <- NULL [17:27:06.682] while (!identical(envir, .GlobalEnv) && [17:27:06.682] !identical(envir, emptyenv())) { [17:27:06.682] if (exists("master", mode = "list", envir = envir, [17:27:06.682] inherits = FALSE)) { [17:27:06.682] master <- get("master", mode = "list", [17:27:06.682] envir = envir, inherits = FALSE) [17:27:06.682] if (inherits(master, c("SOCKnode", [17:27:06.682] "SOCK0node"))) { [17:27:06.682] sendCondition <<- function(cond) { [17:27:06.682] data <- list(type = "VALUE", value = cond, [17:27:06.682] success = TRUE) [17:27:06.682] parallel_sendData(master, data) [17:27:06.682] } [17:27:06.682] return(sendCondition) [17:27:06.682] } [17:27:06.682] } [17:27:06.682] frame <- frame + 1L [17:27:06.682] envir <- sys.frame(frame) [17:27:06.682] } [17:27:06.682] } [17:27:06.682] sendCondition <<- function(cond) NULL [17:27:06.682] } [17:27:06.682] }) [17:27:06.682] withCallingHandlers({ [17:27:06.682] { [17:27:06.682] message(sprintf("Calculating tile #%d of %d ...", [17:27:06.682] ii, n), appendLF = FALSE) [17:27:06.682] fit <- mandelbrot(C) [17:27:06.682] delay(fit) [17:27:06.682] message(" done") [17:27:06.682] fit [17:27:06.682] } [17:27:06.682] }, immediateCondition = function(cond) { [17:27:06.682] sendCondition <- ...future.makeSendCondition() [17:27:06.682] sendCondition(cond) [17:27:06.682] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.682] { [17:27:06.682] inherits <- base::inherits [17:27:06.682] invokeRestart <- base::invokeRestart [17:27:06.682] is.null <- base::is.null [17:27:06.682] muffled <- FALSE [17:27:06.682] if (inherits(cond, "message")) { [17:27:06.682] muffled <- grepl(pattern, "muffleMessage") [17:27:06.682] if (muffled) [17:27:06.682] invokeRestart("muffleMessage") [17:27:06.682] } [17:27:06.682] else if (inherits(cond, "warning")) { [17:27:06.682] muffled <- grepl(pattern, "muffleWarning") [17:27:06.682] if (muffled) [17:27:06.682] invokeRestart("muffleWarning") [17:27:06.682] } [17:27:06.682] else if (inherits(cond, "condition")) { [17:27:06.682] if (!is.null(pattern)) { [17:27:06.682] computeRestarts <- base::computeRestarts [17:27:06.682] grepl <- base::grepl [17:27:06.682] restarts <- computeRestarts(cond) [17:27:06.682] for (restart in restarts) { [17:27:06.682] name <- restart$name [17:27:06.682] if (is.null(name)) [17:27:06.682] next [17:27:06.682] if (!grepl(pattern, name)) [17:27:06.682] next [17:27:06.682] invokeRestart(restart) [17:27:06.682] muffled <- TRUE [17:27:06.682] break [17:27:06.682] } [17:27:06.682] } [17:27:06.682] } [17:27:06.682] invisible(muffled) [17:27:06.682] } [17:27:06.682] muffleCondition(cond) [17:27:06.682] }) [17:27:06.682] })) [17:27:06.682] future::FutureResult(value = ...future.value$value, [17:27:06.682] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.682] ...future.rng), globalenv = if (FALSE) [17:27:06.682] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:06.682] ...future.globalenv.names)) [17:27:06.682] else NULL, started = ...future.startTime, version = "1.8") [17:27:06.682] }, condition = base::local({ [17:27:06.682] c <- base::c [17:27:06.682] inherits <- base::inherits [17:27:06.682] invokeRestart <- base::invokeRestart [17:27:06.682] length <- base::length [17:27:06.682] list <- base::list [17:27:06.682] seq.int <- base::seq.int [17:27:06.682] signalCondition <- base::signalCondition [17:27:06.682] sys.calls <- base::sys.calls [17:27:06.682] `[[` <- base::`[[` [17:27:06.682] `+` <- base::`+` [17:27:06.682] `<<-` <- base::`<<-` [17:27:06.682] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:06.682] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:06.682] 3L)] [17:27:06.682] } [17:27:06.682] function(cond) { [17:27:06.682] is_error <- inherits(cond, "error") [17:27:06.682] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:06.682] NULL) [17:27:06.682] if (is_error) { [17:27:06.682] sessionInformation <- function() { [17:27:06.682] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:06.682] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:06.682] search = base::search(), system = base::Sys.info()) [17:27:06.682] } [17:27:06.682] ...future.conditions[[length(...future.conditions) + [17:27:06.682] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:06.682] cond$call), session = sessionInformation(), [17:27:06.682] timestamp = base::Sys.time(), signaled = 0L) [17:27:06.682] signalCondition(cond) [17:27:06.682] } [17:27:06.682] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:06.682] "immediateCondition"))) { [17:27:06.682] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:06.682] ...future.conditions[[length(...future.conditions) + [17:27:06.682] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:06.682] if (TRUE && !signal) { [17:27:06.682] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.682] { [17:27:06.682] inherits <- base::inherits [17:27:06.682] invokeRestart <- base::invokeRestart [17:27:06.682] is.null <- base::is.null [17:27:06.682] muffled <- FALSE [17:27:06.682] if (inherits(cond, "message")) { [17:27:06.682] muffled <- grepl(pattern, "muffleMessage") [17:27:06.682] if (muffled) [17:27:06.682] invokeRestart("muffleMessage") [17:27:06.682] } [17:27:06.682] else if (inherits(cond, "warning")) { [17:27:06.682] muffled <- grepl(pattern, "muffleWarning") [17:27:06.682] if (muffled) [17:27:06.682] invokeRestart("muffleWarning") [17:27:06.682] } [17:27:06.682] else if (inherits(cond, "condition")) { [17:27:06.682] if (!is.null(pattern)) { [17:27:06.682] computeRestarts <- base::computeRestarts [17:27:06.682] grepl <- base::grepl [17:27:06.682] restarts <- computeRestarts(cond) [17:27:06.682] for (restart in restarts) { [17:27:06.682] name <- restart$name [17:27:06.682] if (is.null(name)) [17:27:06.682] next [17:27:06.682] if (!grepl(pattern, name)) [17:27:06.682] next [17:27:06.682] invokeRestart(restart) [17:27:06.682] muffled <- TRUE [17:27:06.682] break [17:27:06.682] } [17:27:06.682] } [17:27:06.682] } [17:27:06.682] invisible(muffled) [17:27:06.682] } [17:27:06.682] muffleCondition(cond, pattern = "^muffle") [17:27:06.682] } [17:27:06.682] } [17:27:06.682] else { [17:27:06.682] if (TRUE) { [17:27:06.682] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.682] { [17:27:06.682] inherits <- base::inherits [17:27:06.682] invokeRestart <- base::invokeRestart [17:27:06.682] is.null <- base::is.null [17:27:06.682] muffled <- FALSE [17:27:06.682] if (inherits(cond, "message")) { [17:27:06.682] muffled <- grepl(pattern, "muffleMessage") [17:27:06.682] if (muffled) [17:27:06.682] invokeRestart("muffleMessage") [17:27:06.682] } [17:27:06.682] else if (inherits(cond, "warning")) { [17:27:06.682] muffled <- grepl(pattern, "muffleWarning") [17:27:06.682] if (muffled) [17:27:06.682] invokeRestart("muffleWarning") [17:27:06.682] } [17:27:06.682] else if (inherits(cond, "condition")) { [17:27:06.682] if (!is.null(pattern)) { [17:27:06.682] computeRestarts <- base::computeRestarts [17:27:06.682] grepl <- base::grepl [17:27:06.682] restarts <- computeRestarts(cond) [17:27:06.682] for (restart in restarts) { [17:27:06.682] name <- restart$name [17:27:06.682] if (is.null(name)) [17:27:06.682] next [17:27:06.682] if (!grepl(pattern, name)) [17:27:06.682] next [17:27:06.682] invokeRestart(restart) [17:27:06.682] muffled <- TRUE [17:27:06.682] break [17:27:06.682] } [17:27:06.682] } [17:27:06.682] } [17:27:06.682] invisible(muffled) [17:27:06.682] } [17:27:06.682] muffleCondition(cond, pattern = "^muffle") [17:27:06.682] } [17:27:06.682] } [17:27:06.682] } [17:27:06.682] })) [17:27:06.682] }, error = function(ex) { [17:27:06.682] base::structure(base::list(value = NULL, visible = NULL, [17:27:06.682] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.682] ...future.rng), started = ...future.startTime, [17:27:06.682] finished = Sys.time(), session_uuid = NA_character_, [17:27:06.682] version = "1.8"), class = "FutureResult") [17:27:06.682] }, finally = { [17:27:06.682] if (!identical(...future.workdir, getwd())) [17:27:06.682] setwd(...future.workdir) [17:27:06.682] { [17:27:06.682] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:06.682] ...future.oldOptions$nwarnings <- NULL [17:27:06.682] } [17:27:06.682] base::options(...future.oldOptions) [17:27:06.682] if (.Platform$OS.type == "windows") { [17:27:06.682] old_names <- names(...future.oldEnvVars) [17:27:06.682] envs <- base::Sys.getenv() [17:27:06.682] names <- names(envs) [17:27:06.682] common <- intersect(names, old_names) [17:27:06.682] added <- setdiff(names, old_names) [17:27:06.682] removed <- setdiff(old_names, names) [17:27:06.682] changed <- common[...future.oldEnvVars[common] != [17:27:06.682] envs[common]] [17:27:06.682] NAMES <- toupper(changed) [17:27:06.682] args <- list() [17:27:06.682] for (kk in seq_along(NAMES)) { [17:27:06.682] name <- changed[[kk]] [17:27:06.682] NAME <- NAMES[[kk]] [17:27:06.682] if (name != NAME && is.element(NAME, old_names)) [17:27:06.682] next [17:27:06.682] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.682] } [17:27:06.682] NAMES <- toupper(added) [17:27:06.682] for (kk in seq_along(NAMES)) { [17:27:06.682] name <- added[[kk]] [17:27:06.682] NAME <- NAMES[[kk]] [17:27:06.682] if (name != NAME && is.element(NAME, old_names)) [17:27:06.682] next [17:27:06.682] args[[name]] <- "" [17:27:06.682] } [17:27:06.682] NAMES <- toupper(removed) [17:27:06.682] for (kk in seq_along(NAMES)) { [17:27:06.682] name <- removed[[kk]] [17:27:06.682] NAME <- NAMES[[kk]] [17:27:06.682] if (name != NAME && is.element(NAME, old_names)) [17:27:06.682] next [17:27:06.682] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.682] } [17:27:06.682] if (length(args) > 0) [17:27:06.682] base::do.call(base::Sys.setenv, args = args) [17:27:06.682] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:06.682] } [17:27:06.682] else { [17:27:06.682] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:06.682] } [17:27:06.682] { [17:27:06.682] if (base::length(...future.futureOptionsAdded) > [17:27:06.682] 0L) { [17:27:06.682] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:06.682] base::names(opts) <- ...future.futureOptionsAdded [17:27:06.682] base::options(opts) [17:27:06.682] } [17:27:06.682] { [17:27:06.682] { [17:27:06.682] base::options(mc.cores = ...future.mc.cores.old) [17:27:06.682] NULL [17:27:06.682] } [17:27:06.682] options(future.plan = NULL) [17:27:06.682] if (is.na(NA_character_)) [17:27:06.682] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.682] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:06.682] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:06.682] .init = FALSE) [17:27:06.682] } [17:27:06.682] } [17:27:06.682] } [17:27:06.682] }) [17:27:06.682] if (TRUE) { [17:27:06.682] base::sink(type = "output", split = FALSE) [17:27:06.682] if (TRUE) { [17:27:06.682] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:06.682] } [17:27:06.682] else { [17:27:06.682] ...future.result["stdout"] <- base::list(NULL) [17:27:06.682] } [17:27:06.682] base::close(...future.stdout) [17:27:06.682] ...future.stdout <- NULL [17:27:06.682] } [17:27:06.682] ...future.result$conditions <- ...future.conditions [17:27:06.682] ...future.result$finished <- base::Sys.time() [17:27:06.682] ...future.result [17:27:06.682] } [17:27:06.690] Exporting 4 global objects (57.67 KiB) to cluster node #1 ... [17:27:06.691] Exporting 'ii' (35 bytes) to cluster node #1 ... [17:27:06.691] Exporting 'ii' (35 bytes) to cluster node #1 ... DONE [17:27:06.691] Exporting 'n' (35 bytes) to cluster node #1 ... [17:27:06.692] Exporting 'n' (35 bytes) to cluster node #1 ... DONE [17:27:06.692] Exporting 'C' (10.00 KiB) to cluster node #1 ... [17:27:06.693] Exporting 'C' (10.00 KiB) to cluster node #1 ... DONE [17:27:06.693] Exporting 'delay' (47.33 KiB) to cluster node #1 ... [17:27:06.694] Exporting 'delay' (47.33 KiB) to cluster node #1 ... DONE [17:27:06.694] Exporting 4 global objects (57.67 KiB) to cluster node #1 ... DONE [17:27:06.695] MultisessionFuture started [17:27:06.696] - Launch lazy future ... done [17:27:06.696] run() for 'MultisessionFuture' ... done [17:27:06.696] - run() ... done [17:27:06.696] - resolved() ... [17:27:06.737] receiveMessageFromWorker() for ClusterFuture ... [17:27:06.737] - Validating connection of MultisessionFuture [17:27:06.738] - received message: FutureResult [17:27:06.738] - Received FutureResult [17:27:06.739] - Erased future from FutureRegistry [17:27:06.739] result() for ClusterFuture ... [17:27:06.739] - result already collected: FutureResult [17:27:06.739] result() for ClusterFuture ... done [17:27:06.739] signalConditions() ... [17:27:06.739] - include = 'immediateCondition' [17:27:06.740] - exclude = [17:27:06.740] - resignal = FALSE [17:27:06.740] - Number of conditions: 2 [17:27:06.740] signalConditions() ... done [17:27:06.740] receiveMessageFromWorker() for ClusterFuture ... done [17:27:06.740] - resolved: TRUE [17:27:06.741] - resolved() ... done [17:27:06.741] resolved() for 'MultisessionFuture' ... done Plotting tile #4 of 4 ... [17:27:06.741] result() for ClusterFuture ... [17:27:06.741] - result already collected: FutureResult [17:27:06.741] result() for ClusterFuture ... done [17:27:06.742] result() for ClusterFuture ... [17:27:06.742] - result already collected: FutureResult [17:27:06.742] result() for ClusterFuture ... done [17:27:06.742] signalConditions() ... [17:27:06.742] - include = 'immediateCondition' [17:27:06.743] - exclude = [17:27:06.743] - resignal = FALSE [17:27:06.743] - Number of conditions: 2 [17:27:06.743] signalConditions() ... done [17:27:06.743] Future state: 'finished' [17:27:06.743] result() for ClusterFuture ... [17:27:06.744] - result already collected: FutureResult [17:27:06.744] result() for ClusterFuture ... done [17:27:06.744] signalConditions() ... [17:27:06.744] - include = 'condition' [17:27:06.744] - exclude = 'immediateCondition' [17:27:06.744] - resignal = TRUE [17:27:06.745] - Number of conditions: 2 [17:27:06.745] - Condition #1: 'simpleMessage', 'message', 'condition' Calculating tile #4 of 4 ...[17:27:06.745] - Condition #2: 'simpleMessage', 'message', 'condition' done [17:27:06.745] signalConditions() ... done > close.screen() [1] 1 2 3 4 5 6 7 8 > message("SUGGESTION: Try to rerun this demo after changing strategy for how futures are resolved, e.g. plan(multisession).\n") SUGGESTION: Try to rerun this demo after changing strategy for how futures are resolved, e.g. plan(multisession). - plan('multisession') ... DONE Testing with 2 cores ... DONE > message("*** Mandelbrot demo of the 'future' package ... DONE") *** Mandelbrot demo of the 'future' package ... DONE > > message("*** Demos ... DONE") *** Demos ... DONE > > source("incl/end.R") [17:27:06.748] plan(): Setting new future strategy stack: [17:27:06.748] List of future strategies: [17:27:06.748] 1. sequential: [17:27:06.748] - args: function (..., envir = parent.frame(), workers = "") [17:27:06.748] - tweaked: FALSE [17:27:06.748] - call: future::plan("sequential") [17:27:06.757] plan(): nbrOfWorkers() = 1 Failed to undo environment variables: - Expected environment variables: [n=205] '!ExitCode', 'ALLUSERSPROFILE', 'APPDATA', 'BIBINPUTS', 'BINDIR', 'BSTINPUTS', 'COMMONPROGRAMFILES', 'COMPUTERNAME', 'COMSPEC', 'CURL_CA_BUNDLE', 'CYGWIN', 'CommonProgramFiles(x86)', 'CommonProgramW6432', 'DriverData', 'HOME', 'HOMEDRIVE', 'HOMEPATH', 'JAGS_ROOT', 'JAVA_HOME', 'LANGUAGE', 'LC_COLLATE', 'LC_MONETARY', 'LC_TIME', 'LOCALAPPDATA', 'LOGONSERVER', 'LS_HOME', 'LS_LICENSE_PATH', 'MAKE', 'MAKEFLAGS', 'MAKELEVEL', 'MFLAGS', 'MSMPI_BENCHMARKS', 'MSMPI_BIN', 'MSYS2_ENV_CONV_EXCL', 'NUMBER_OF_PROCESSORS', 'OCL', 'OMP_THREAD_LIMIT', 'OS', 'PATH', 'PATHEXT', 'PROCESSOR_ARCHITECTURE', 'PROCESSOR_IDENTIFIER', 'PROCESSOR_LEVEL', 'PROCESSOR_REVISION', 'PROGRAMFILES', 'PROMPT', 'PSModulePath', 'PUBLIC', 'PWD', 'ProgramData', 'ProgramFiles(x86)', 'ProgramW6432', 'RTOOLS43_HOME', 'RTOOLS44_HOME', 'R_ARCH', 'R_BROWSER', 'R_BZIPCMD', 'R_CMD', 'R_COMPILED_BY', 'R_CRAN_WEB', 'R_CUSTOM_TOOLS_PATH', 'R_CUSTOM_TOOLS_SOFT', 'R_DOC_DIR', 'R_ENVIRON_USER', 'R_GSCMD', 'R_GZIPCMD', 'R_HOME', 'R_INCLUDE_DIR', 'R_INSTALL_TAR', 'R_LIBS', 'R_LIBS_SITE', 'R_LIBS_USER', 'R_MAX_NUM_DLLS', 'R_OSTYPE', 'R_PAPERSIZE', 'R_PAPERSIZE_USER', 'R_PARALLELLY_MAKENODEPSOCK_AUTOKILL', 'R_PARALLELLY_MAKENODEPSOCK_CONNECTTIMEOUT', 'R_PARALLELLY_MAKENODEPSOCK_RSCRIPT_LABEL', 'R_PARALLELLY_MAKENODEPSOCK_SESSIONINFO_PKGS', 'R_PARALLELLY_MAKENODEPSOCK_TIMEOUT', 'R_PARALLELLY_RANDOM_PORTS', 'R_PARALLEL_PORT', 'R_RD4PDF', 'R_RTOOLS44_PATH', 'R_SCRIPT_LEGACY', 'R_SHARE_DIR', 'R_TESTS', 'R_UNZIPCMD', 'R_USER', 'R_VERSION', 'R_ZIPCMD', 'SED', 'SHLVL', 'SYSTEMDRIVE', 'SYSTEMROOT', 'TAR', 'TAR_OPTIONS', 'TEMP', 'TERM', 'TEXINPUTS', 'TMP', 'TMPDIR', 'USERDOMAIN', 'USERDOMAIN_ROAMINGPROFILE', 'USERNAME', 'USERPROFILE', 'WINDIR', '_', '_R_CHECK_AUTOCONF_', '_R_CHECK_BOGUS_RETURN_', '_R_CHECK_BROWSER_NONINTERACTIVE_', '_R_CHECK_BUILD_VIGNETTES_SEPARATELY_', '_R_CHECK_CODETOOLS_PROFILE_', '_R_CHECK_CODE_ASSIGN_TO_GLOBALENV_', '_R_CHECK_CODE_ATTACH_', '_R_CHECK_CODE_CLASS_IS_STRING_', '_R_CHECK_CODE_DATA_INTO_GLOBALENV_', '_R_CHECK_CODE_USAGE_VIA_NAMESPACES_', '_R_CHECK_CODE_USAGE_WITHOUT_LOADING_', '_R_CHECK_CODE_USAGE_WITH_ONLY_BASE_ATTACHED_', '_R_CHECK_CODOC_VARIABLES_IN_USAGES_', '_R_CHECK_COMPACT_DATA2_', '_R_CHECK_COMPILATION_FLAGS_', '_R_CHECK_CONNECTIONS_LEFT_OPEN_', '_R_CHECK_CRAN_INCOMING_', '_R_CHECK_CRAN_INCOMING_CHECK_FILE_URIS_', '_R_CHECK_CRAN_INCOMING_CHECK_URLS_IN_PARALLEL_', '_R_CHECK_CRAN_INCOMING_NOTE_GNU_MAKE_', '_R_CHECK_CRAN_INCOMING_REMOTE_', '_R_CHECK_CRAN_INCOMING_USE_ASPELL_', '_R_CHECK_DATALIST_', '_R_CHECK_DEPRECATED_DEFUNCT_', '_R_CHECK_DOC_SIZES2_', '_R_CHECK_DOT_FIRSTLIB_', '_R_CHECK_DOT_INTERNAL_', '_R_CHECK_EXAMPLE_TIMING_THRESHOLD_', '_R_CHECK_EXECUTABLES_', '_R_CHECK_EXECUTABLES_EXCLUSIONS_', '_R_CHECK_FF_CALLS_', '_R_CHECK_FF_DUP_', '_R_CHECK_FORCE_SUGGESTS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_LEEWAY_', '_R_CHECK_HAVE_MYSQL_', '_R_CHECK_HAVE_ODBC_', '_R_CHECK_HAVE_PERL_', '_R_CHECK_HAVE_POSTGRES_', '_R_CHECK_INSTALL_DEPENDS_', '_R_CHECK_INTERNALS2_', '_R_CHECK_LENGTH_1_CONDITION_', '_R_CHECK_LICENSE_', '_R_CHECK_LIMIT_CORES_', '_R_CHECK_MATRIX_DATA_', '_R_CHECK_MBCS_CONVERSION_FAILURE_', '_R_CHECK_NATIVE_ROUTINE_REGISTRATION_', '_R_CHECK_NEWS_IN_PLAIN_TEXT_', '_R_CHECK_NO_RECOMMENDED_', '_R_CHECK_NO_STOP_ON_TEST_ERROR_', '_R_CHECK_ORPHANED_', '_R_CHECK_OVERWRITE_REGISTERED_S3_METHODS_', '_R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_', '_R_CHECK_PACKAGES_USED_IN_TESTS_USE_SUBDIRS_', '_R_CHECK_PACKAGE_DATASETS_SUPPRESS_NOTES_', '_R_CHECK_PACKAGE_NAME_', '_R_CHECK_PKG_SIZES_', '_R_CHECK_PKG_SIZES_THRESHOLD_', '_R_CHECK_PRAGMAS_', '_R_CHECK_RD_EXAMPLES_T_AND_F_', '_R_CHECK_RD_LINE_WIDTHS_', '_R_CHECK_RD_MATH_RENDERING_', '_R_CHECK_RD_NOTE_LOST_BRACES_', '_R_CHECK_RD_VALIDATE_RD2HTML_', '_R_CHECK_REPLACING_IMPORTS_', '_R_CHECK_R_DEPENDS_', '_R_CHECK_S3_METHODS_SHOW_POSSIBLE_ISSUES_', '_R_CHECK_SCREEN_DEVICE_', '_R_CHECK_SERIALIZATION_', '_R_CHECK_SHLIB_OPENMP_FLAGS_', '_R_CHECK_SRC_MINUS_W_IMPLICIT_', '_R_CHECK_SUBDIRS_NOCASE_', '_R_CHECK_SUGGESTS_ONLY_', '_R_CHECK_SYSTEM_CLOCK_', '_R_CHECK_TESTS_NLINES_', '_R_CHECK_TEST_TIMING_', '_R_CHECK_TIMINGS_', '_R_CHECK_TOPLEVEL_FILES_', '_R_CHECK_UNDOC_USE_ALL_NAMES_', '_R_CHECK_UNSAFE_CALLS_', '_R_CHECK_URLS_SHOW_301_STATUS_', '_R_CHECK_VC_DIRS_', '_R_CHECK_VIGNETTES_NLINES_', '_R_CHECK_VIGNETTES_SKIP_RUN_MAYBE_', '_R_CHECK_VIGNETTE_TIMING_', '_R_CHECK_VIGNETTE_TITLES_', '_R_CHECK_WINDOWS_DEVICE_', '_R_CHECK_XREFS_NOTE_MISSING_PACKAGE_ANCHORS_', '_R_CHECK_XREFS_USE_ALIASES_FROM_CRAN_', '_R_CLASS_MATRIX_ARRAY_', '_R_DEPRECATED_IS_R_', '_R_S3_METHOD_LOOKUP_BASEENV_AFTER_GLOBALENV_', '_R_SHLIB_BUILD_OBJECTS_SYMBOL_TABLES_', '__R_CHECK_DOC_FILES_NOTE_IF_ALL_SPECIAL__', 'maj.version', 'nextArg--timingsnextArg--install' - Environment variables still there: [n=0] - Environment variables missing: [n=1] 'MAKEFLAGS' Differences environment variable by environment variable: List of 3 $ name : chr "MAKEFLAGS" $ expected: 'Dlist' chr "" $ actual : 'Dlist' chr NA > > proc.time() user system elapsed 5.43 0.40 6.93