R Under development (unstable) (2023-06-30 r84625 ucrt) -- "Unsuffered Consequences" Copyright (C) 2023 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") [18:01:14.592] plan(): Setting new future strategy stack: [18:01:14.593] List of future strategies: [18:01:14.593] 1. sequential: [18:01:14.593] - args: function (..., envir = parent.frame()) [18:01:14.593] - tweaked: FALSE [18:01:14.593] - call: future::plan("sequential") [18:01:14.609] 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) [18:01:14.624] plan(): Setting new future strategy stack: [18:01:14.624] List of future strategies: [18:01:14.624] 1. sequential: [18:01:14.624] - args: function (..., envir = parent.frame()) [18:01:14.624] - tweaked: FALSE [18:01:14.624] - call: plan(sequential) [18:01:14.637] 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" + } [18:01:14.646] getGlobalsAndPackages() ... [18:01:14.646] Searching for globals... [18:01:14.655] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.656] Searching for globals ... DONE [18:01:14.656] Resolving globals: FALSE [18:01:14.657] The total size of the 2 globals is 224 bytes (224 bytes) [18:01:14.658] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 224 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (168 bytes of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.658] - globals: [2] 'x', 'i' [18:01:14.658] [18:01:14.658] getGlobalsAndPackages() ... DONE [18:01:14.659] getGlobalsAndPackages() ... [18:01:14.660] Searching for globals... [18:01:14.662] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.662] Searching for globals ... DONE [18:01:14.662] Resolving globals: FALSE [18:01:14.663] The total size of the 2 globals is 8.29 KiB (8488 bytes) [18:01:14.664] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 8.29 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (8.23 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.664] - globals: [2] 'x', 'i' [18:01:14.664] [18:01:14.664] getGlobalsAndPackages() ... DONE [18:01:14.665] getGlobalsAndPackages() ... [18:01:14.665] Searching for globals... [18:01:14.667] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.667] Searching for globals ... DONE [18:01:14.667] Resolving globals: FALSE [18:01:14.669] The total size of the 2 globals is 16.52 KiB (16920 bytes) [18:01:14.669] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 16.52 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (16.47 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.670] - globals: [2] 'x', 'i' [18:01:14.670] [18:01:14.670] getGlobalsAndPackages() ... DONE [18:01:14.670] getGlobalsAndPackages() ... [18:01:14.671] Searching for globals... [18:01:14.673] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.673] Searching for globals ... DONE [18:01:14.673] Resolving globals: FALSE [18:01:14.675] The total size of the 2 globals is 24.76 KiB (25352 bytes) [18:01:14.675] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 24.76 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (24.70 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.675] - globals: [2] 'x', 'i' [18:01:14.676] [18:01:14.676] getGlobalsAndPackages() ... DONE [18:01:14.676] getGlobalsAndPackages() ... [18:01:14.677] Searching for globals... [18:01:14.679] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.679] Searching for globals ... DONE [18:01:14.679] Resolving globals: FALSE [18:01:14.682] The total size of the 2 globals is 32.99 KiB (33784 bytes) [18:01:14.683] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 32.99 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (32.94 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.683] - globals: [2] 'x', 'i' [18:01:14.683] [18:01:14.683] getGlobalsAndPackages() ... DONE [18:01:14.684] getGlobalsAndPackages() ... [18:01:14.684] Searching for globals... [18:01:14.686] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.686] Searching for globals ... DONE [18:01:14.687] Resolving globals: FALSE [18:01:14.689] The total size of the 2 globals is 41.23 KiB (42216 bytes) [18:01:14.689] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 41.23 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (41.17 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.690] - globals: [2] 'x', 'i' [18:01:14.690] [18:01:14.690] getGlobalsAndPackages() ... DONE [18:01:14.691] getGlobalsAndPackages() ... [18:01:14.691] Searching for globals... [18:01:14.693] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.693] Searching for globals ... DONE [18:01:14.693] Resolving globals: FALSE [18:01:14.696] The total size of the 2 globals is 49.46 KiB (50648 bytes) [18:01:14.696] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 49.46 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (49.41 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.697] - globals: [2] 'x', 'i' [18:01:14.697] [18:01:14.697] getGlobalsAndPackages() ... DONE [18:01:14.698] getGlobalsAndPackages() ... [18:01:14.698] Searching for globals... [18:01:14.700] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.700] Searching for globals ... DONE [18:01:14.700] Resolving globals: FALSE [18:01:14.703] The total size of the 2 globals is 57.70 KiB (59080 bytes) [18:01:14.704] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 57.70 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (57.64 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.704] - globals: [2] 'x', 'i' [18:01:14.704] [18:01:14.704] getGlobalsAndPackages() ... DONE [18:01:14.705] getGlobalsAndPackages() ... [18:01:14.705] Searching for globals... [18:01:14.707] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.707] Searching for globals ... DONE [18:01:14.707] Resolving globals: FALSE [18:01:14.712] The total size of the 2 globals is 65.93 KiB (67512 bytes) [18:01:14.712] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 65.93 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (65.88 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.712] - globals: [2] 'x', 'i' [18:01:14.713] [18:01:14.713] getGlobalsAndPackages() ... DONE [18:01:14.713] getGlobalsAndPackages() ... [18:01:14.714] Searching for globals... [18:01:14.716] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.716] Searching for globals ... DONE [18:01:14.716] Resolving globals: FALSE [18:01:14.720] The total size of the 2 globals is 74.16 KiB (75944 bytes) [18:01:14.720] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 74.16 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (74.11 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.720] - globals: [2] 'x', 'i' [18:01:14.721] [18:01:14.721] getGlobalsAndPackages() ... DONE [18:01:14.721] getGlobalsAndPackages() ... [18:01:14.722] Searching for globals... [18:01:14.723] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.724] Searching for globals ... DONE [18:01:14.724] Resolving globals: FALSE [18:01:14.728] The total size of the 2 globals is 82.40 KiB (84376 bytes) [18:01:14.728] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 82.40 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (82.34 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.729] - globals: [2] 'x', 'i' [18:01:14.729] [18:01:14.729] getGlobalsAndPackages() ... DONE [18:01:14.730] getGlobalsAndPackages() ... [18:01:14.730] Searching for globals... [18:01:14.732] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.732] Searching for globals ... DONE [18:01:14.732] Resolving globals: FALSE [18:01:14.737] The total size of the 2 globals is 90.63 KiB (92808 bytes) [18:01:14.738] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 90.63 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (90.58 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.738] - globals: [2] 'x', 'i' [18:01:14.738] [18:01:14.739] getGlobalsAndPackages() ... DONE [18:01:14.739] getGlobalsAndPackages() ... [18:01:14.739] Searching for globals... [18:01:14.741] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.741] Searching for globals ... DONE [18:01:14.742] Resolving globals: FALSE [18:01:14.747] The total size of the 2 globals is 98.87 KiB (101240 bytes) [18:01:14.747] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 98.87 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (98.81 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.747] - globals: [2] 'x', 'i' [18:01:14.747] [18:01:14.748] getGlobalsAndPackages() ... DONE [18:01:14.748] getGlobalsAndPackages() ... [18:01:14.748] Searching for globals... [18:01:14.750] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.750] Searching for globals ... DONE [18:01:14.751] Resolving globals: FALSE [18:01:14.756] The total size of the 2 globals is 107.10 KiB (109672 bytes) [18:01:14.756] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 107.10 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (107.05 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.757] - globals: [2] 'x', 'i' [18:01:14.757] [18:01:14.757] getGlobalsAndPackages() ... DONE [18:01:14.758] getGlobalsAndPackages() ... [18:01:14.758] Searching for globals... [18:01:14.761] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.761] Searching for globals ... DONE [18:01:14.761] Resolving globals: FALSE [18:01:14.767] The total size of the 2 globals is 115.34 KiB (118104 bytes) [18:01:14.767] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 115.34 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (115.28 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.767] - globals: [2] 'x', 'i' [18:01:14.768] [18:01:14.768] getGlobalsAndPackages() ... DONE [18:01:14.768] getGlobalsAndPackages() ... [18:01:14.768] Searching for globals... [18:01:14.770] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.771] Searching for globals ... DONE [18:01:14.771] Resolving globals: FALSE [18:01:14.777] The total size of the 2 globals is 123.57 KiB (126536 bytes) [18:01:14.777] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 123.57 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (123.52 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.778] - globals: [2] 'x', 'i' [18:01:14.778] [18:01:14.778] getGlobalsAndPackages() ... DONE [18:01:14.779] getGlobalsAndPackages() ... [18:01:14.779] Searching for globals... [18:01:14.781] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.781] Searching for globals ... DONE [18:01:14.781] Resolving globals: FALSE [18:01:14.788] The total size of the 2 globals is 131.80 KiB (134968 bytes) [18:01:14.789] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 131.80 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (131.75 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.789] - globals: [2] 'x', 'i' [18:01:14.789] [18:01:14.790] getGlobalsAndPackages() ... DONE [18:01:14.790] getGlobalsAndPackages() ... [18:01:14.790] Searching for globals... [18:01:14.792] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.792] Searching for globals ... DONE [18:01:14.793] Resolving globals: FALSE [18:01:14.799] The total size of the 2 globals is 140.04 KiB (143400 bytes) [18:01:14.800] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 140.04 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (139.98 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.800] - globals: [2] 'x', 'i' [18:01:14.800] [18:01:14.800] getGlobalsAndPackages() ... DONE [18:01:14.801] getGlobalsAndPackages() ... [18:01:14.801] Searching for globals... [18:01:14.803] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.803] Searching for globals ... DONE [18:01:14.803] Resolving globals: FALSE [18:01:14.811] The total size of the 2 globals is 148.27 KiB (151832 bytes) [18:01:14.812] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 148.27 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (148.22 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.812] - globals: [2] 'x', 'i' [18:01:14.812] [18:01:14.812] getGlobalsAndPackages() ... DONE [18:01:14.813] getGlobalsAndPackages() ... [18:01:14.813] Searching for globals... [18:01:14.815] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.815] Searching for globals ... DONE [18:01:14.815] Resolving globals: FALSE [18:01:14.823] The total size of the 2 globals is 156.51 KiB (160264 bytes) [18:01:14.823] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 156.51 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (156.45 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.824] - globals: [2] 'x', 'i' [18:01:14.824] [18:01:14.824] getGlobalsAndPackages() ... DONE [18:01:14.825] getGlobalsAndPackages() ... [18:01:14.825] Searching for globals... [18:01:14.827] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.827] Searching for globals ... DONE [18:01:14.827] Resolving globals: FALSE [18:01:14.835] The total size of the 2 globals is 164.74 KiB (168696 bytes) [18:01:14.836] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 164.74 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (164.69 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.836] - globals: [2] 'x', 'i' [18:01:14.836] [18:01:14.837] getGlobalsAndPackages() ... DONE [18:01:14.837] getGlobalsAndPackages() ... [18:01:14.837] Searching for globals... [18:01:14.839] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.839] Searching for globals ... DONE [18:01:14.840] Resolving globals: FALSE [18:01:14.848] The total size of the 2 globals is 172.98 KiB (177128 bytes) [18:01:14.848] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 172.98 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (172.92 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.848] - globals: [2] 'x', 'i' [18:01:14.849] [18:01:14.849] getGlobalsAndPackages() ... DONE [18:01:14.849] getGlobalsAndPackages() ... [18:01:14.849] Searching for globals... [18:01:14.852] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.852] Searching for globals ... DONE [18:01:14.853] Resolving globals: FALSE [18:01:14.861] The total size of the 2 globals is 181.21 KiB (185560 bytes) [18:01:14.861] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 181.21 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (181.16 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.862] - globals: [2] 'x', 'i' [18:01:14.862] [18:01:14.862] getGlobalsAndPackages() ... DONE [18:01:14.863] getGlobalsAndPackages() ... [18:01:14.863] Searching for globals... [18:01:14.865] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.865] Searching for globals ... DONE [18:01:14.865] Resolving globals: FALSE [18:01:14.878] The total size of the 2 globals is 189.45 KiB (193992 bytes) [18:01:14.878] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 189.45 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (189.39 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.878] - globals: [2] 'x', 'i' [18:01:14.879] [18:01:14.879] getGlobalsAndPackages() ... DONE [18:01:14.880] getGlobalsAndPackages() ... [18:01:14.880] Searching for globals... [18:01:14.883] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.883] Searching for globals ... DONE [18:01:14.883] Resolving globals: FALSE [18:01:14.894] The total size of the 2 globals is 197.68 KiB (202424 bytes) [18:01:14.895] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 197.68 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (197.62 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.895] - globals: [2] 'x', 'i' [18:01:14.895] [18:01:14.895] getGlobalsAndPackages() ... DONE [18:01:14.896] getGlobalsAndPackages() ... [18:01:14.896] Searching for globals... [18:01:14.898] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.898] Searching for globals ... DONE [18:01:14.899] Resolving globals: FALSE [18:01:14.909] The total size of the 2 globals is 205.91 KiB (210856 bytes) [18:01:14.909] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 205.91 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (205.86 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.910] - globals: [2] 'x', 'i' [18:01:14.910] [18:01:14.910] getGlobalsAndPackages() ... DONE [18:01:14.911] getGlobalsAndPackages() ... [18:01:14.911] Searching for globals... [18:01:14.913] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.913] Searching for globals ... DONE [18:01:14.913] Resolving globals: FALSE [18:01:14.924] The total size of the 2 globals is 214.15 KiB (219288 bytes) [18:01:14.924] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 214.15 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (214.09 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.924] - globals: [2] 'x', 'i' [18:01:14.925] [18:01:14.925] getGlobalsAndPackages() ... DONE [18:01:14.925] getGlobalsAndPackages() ... [18:01:14.926] Searching for globals... [18:01:14.927] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.928] Searching for globals ... DONE [18:01:14.928] Resolving globals: FALSE [18:01:14.938] The total size of the 2 globals is 222.38 KiB (227720 bytes) [18:01:14.939] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 222.38 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (222.33 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.939] - globals: [2] 'x', 'i' [18:01:14.939] [18:01:14.939] getGlobalsAndPackages() ... DONE [18:01:14.940] getGlobalsAndPackages() ... [18:01:14.940] Searching for globals... [18:01:14.942] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.942] Searching for globals ... DONE [18:01:14.942] Resolving globals: FALSE [18:01:14.954] The total size of the 2 globals is 230.62 KiB (236152 bytes) [18:01:14.954] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 230.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (230.56 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.954] - globals: [2] 'x', 'i' [18:01:14.955] [18:01:14.955] getGlobalsAndPackages() ... DONE [18:01:14.955] getGlobalsAndPackages() ... [18:01:14.956] Searching for globals... [18:01:14.957] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.958] Searching for globals ... DONE [18:01:14.958] Resolving globals: FALSE [18:01:14.970] The total size of the 2 globals is 238.85 KiB (244584 bytes) [18:01:14.970] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 238.85 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (238.80 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.970] - globals: [2] 'x', 'i' [18:01:14.971] [18:01:14.971] getGlobalsAndPackages() ... DONE [18:01:14.971] getGlobalsAndPackages() ... [18:01:14.971] Searching for globals... [18:01:14.973] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.974] Searching for globals ... DONE [18:01:14.974] Resolving globals: FALSE [18:01:14.986] The total size of the 2 globals is 247.09 KiB (253016 bytes) [18:01:14.987] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 247.09 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (247.03 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:14.987] - globals: [2] 'x', 'i' [18:01:14.987] [18:01:14.987] getGlobalsAndPackages() ... DONE [18:01:14.988] getGlobalsAndPackages() ... [18:01:14.988] Searching for globals... [18:01:14.990] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:14.990] Searching for globals ... DONE [18:01:14.990] Resolving globals: FALSE [18:01:15.002] The total size of the 2 globals is 255.32 KiB (261448 bytes) [18:01:15.003] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 255.32 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (255.27 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.003] - globals: [2] 'x', 'i' [18:01:15.003] [18:01:15.003] getGlobalsAndPackages() ... DONE [18:01:15.004] getGlobalsAndPackages() ... [18:01:15.004] Searching for globals... [18:01:15.006] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.007] Searching for globals ... DONE [18:01:15.007] Resolving globals: FALSE [18:01:15.026] The total size of the 2 globals is 263.55 KiB (269880 bytes) [18:01:15.026] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 263.55 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (263.50 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.027] - globals: [2] 'x', 'i' [18:01:15.027] [18:01:15.027] getGlobalsAndPackages() ... DONE [18:01:15.028] getGlobalsAndPackages() ... [18:01:15.028] Searching for globals... [18:01:15.031] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.032] Searching for globals ... DONE [18:01:15.032] Resolving globals: FALSE [18:01:15.048] The total size of the 2 globals is 271.79 KiB (278312 bytes) [18:01:15.048] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 271.79 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (271.73 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.048] - globals: [2] 'x', 'i' [18:01:15.049] [18:01:15.049] getGlobalsAndPackages() ... DONE [18:01:15.049] getGlobalsAndPackages() ... [18:01:15.049] Searching for globals... [18:01:15.051] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.052] Searching for globals ... DONE [18:01:15.052] Resolving globals: FALSE [18:01:15.065] The total size of the 2 globals is 280.02 KiB (286744 bytes) [18:01:15.066] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 280.02 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (279.97 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.066] - globals: [2] 'x', 'i' [18:01:15.066] [18:01:15.066] getGlobalsAndPackages() ... DONE [18:01:15.067] getGlobalsAndPackages() ... [18:01:15.067] Searching for globals... [18:01:15.069] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.069] Searching for globals ... DONE [18:01:15.069] Resolving globals: FALSE [18:01:15.105] The total size of the 2 globals is 288.26 KiB (295176 bytes) [18:01:15.106] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 288.26 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (288.20 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.106] - globals: [2] 'x', 'i' [18:01:15.106] [18:01:15.106] getGlobalsAndPackages() ... DONE [18:01:15.107] getGlobalsAndPackages() ... [18:01:15.107] Searching for globals... [18:01:15.109] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.109] Searching for globals ... DONE [18:01:15.109] Resolving globals: FALSE [18:01:15.124] The total size of the 2 globals is 296.49 KiB (303608 bytes) [18:01:15.125] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 296.49 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (296.44 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.125] - globals: [2] 'x', 'i' [18:01:15.125] [18:01:15.125] getGlobalsAndPackages() ... DONE [18:01:15.126] getGlobalsAndPackages() ... [18:01:15.126] Searching for globals... [18:01:15.128] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.128] Searching for globals ... DONE [18:01:15.128] Resolving globals: FALSE [18:01:15.143] The total size of the 2 globals is 304.73 KiB (312040 bytes) [18:01:15.144] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 304.73 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (304.67 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.144] - globals: [2] 'x', 'i' [18:01:15.144] [18:01:15.144] getGlobalsAndPackages() ... DONE [18:01:15.145] getGlobalsAndPackages() ... [18:01:15.145] Searching for globals... [18:01:15.147] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.147] Searching for globals ... DONE [18:01:15.147] Resolving globals: FALSE [18:01:15.162] The total size of the 2 globals is 312.96 KiB (320472 bytes) [18:01:15.162] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 312.96 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (312.91 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.163] - globals: [2] 'x', 'i' [18:01:15.163] [18:01:15.163] getGlobalsAndPackages() ... DONE [18:01:15.164] getGlobalsAndPackages() ... [18:01:15.164] Searching for globals... [18:01:15.166] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.166] Searching for globals ... DONE [18:01:15.166] Resolving globals: FALSE [18:01:15.181] The total size of the 2 globals is 321.20 KiB (328904 bytes) [18:01:15.181] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 321.20 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (321.14 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.181] - globals: [2] 'x', 'i' [18:01:15.182] [18:01:15.182] getGlobalsAndPackages() ... DONE [18:01:15.183] getGlobalsAndPackages() ... [18:01:15.183] Searching for globals... [18:01:15.185] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.185] Searching for globals ... DONE [18:01:15.186] Resolving globals: FALSE [18:01:15.201] The total size of the 2 globals is 329.43 KiB (337336 bytes) [18:01:15.201] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 329.43 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (329.38 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.201] - globals: [2] 'x', 'i' [18:01:15.202] [18:01:15.202] getGlobalsAndPackages() ... DONE [18:01:15.202] getGlobalsAndPackages() ... [18:01:15.202] Searching for globals... [18:01:15.205] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.205] Searching for globals ... DONE [18:01:15.206] Resolving globals: FALSE [18:01:15.221] The total size of the 2 globals is 337.66 KiB (345768 bytes) [18:01:15.222] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 337.66 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (337.61 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.222] - globals: [2] 'x', 'i' [18:01:15.222] [18:01:15.222] getGlobalsAndPackages() ... DONE [18:01:15.223] getGlobalsAndPackages() ... [18:01:15.223] Searching for globals... [18:01:15.225] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.226] Searching for globals ... DONE [18:01:15.226] Resolving globals: FALSE [18:01:15.242] The total size of the 2 globals is 345.90 KiB (354200 bytes) [18:01:15.242] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 345.90 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (345.84 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.242] - globals: [2] 'x', 'i' [18:01:15.242] [18:01:15.243] getGlobalsAndPackages() ... DONE [18:01:15.244] getGlobalsAndPackages() ... [18:01:15.244] Searching for globals... [18:01:15.246] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.246] Searching for globals ... DONE [18:01:15.246] Resolving globals: FALSE [18:01:15.263] The total size of the 2 globals is 354.13 KiB (362632 bytes) [18:01:15.264] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 354.13 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (354.08 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.264] - globals: [2] 'x', 'i' [18:01:15.264] [18:01:15.264] getGlobalsAndPackages() ... DONE [18:01:15.265] getGlobalsAndPackages() ... [18:01:15.265] Searching for globals... [18:01:15.267] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.267] Searching for globals ... DONE [18:01:15.267] Resolving globals: FALSE [18:01:15.284] The total size of the 2 globals is 362.37 KiB (371064 bytes) [18:01:15.285] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 362.37 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (362.31 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.285] - globals: [2] 'x', 'i' [18:01:15.285] [18:01:15.285] getGlobalsAndPackages() ... DONE [18:01:15.286] getGlobalsAndPackages() ... [18:01:15.286] Searching for globals... [18:01:15.288] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.288] Searching for globals ... DONE [18:01:15.289] Resolving globals: FALSE [18:01:15.306] The total size of the 2 globals is 370.60 KiB (379496 bytes) [18:01:15.307] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 370.60 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (370.55 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.307] - globals: [2] 'x', 'i' [18:01:15.307] [18:01:15.307] getGlobalsAndPackages() ... DONE [18:01:15.308] getGlobalsAndPackages() ... [18:01:15.308] Searching for globals... [18:01:15.310] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.310] Searching for globals ... DONE [18:01:15.310] Resolving globals: FALSE [18:01:15.328] The total size of the 2 globals is 378.84 KiB (387928 bytes) [18:01:15.329] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 378.84 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (378.78 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.329] - globals: [2] 'x', 'i' [18:01:15.329] [18:01:15.329] getGlobalsAndPackages() ... DONE [18:01:15.330] getGlobalsAndPackages() ... [18:01:15.330] Searching for globals... [18:01:15.332] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.332] Searching for globals ... DONE [18:01:15.332] Resolving globals: FALSE [18:01:15.351] The total size of the 2 globals is 387.07 KiB (396360 bytes) [18:01:15.351] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 387.07 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (387.02 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.351] - globals: [2] 'x', 'i' [18:01:15.351] [18:01:15.352] getGlobalsAndPackages() ... DONE [18:01:15.352] getGlobalsAndPackages() ... [18:01:15.352] Searching for globals... [18:01:15.354] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.354] Searching for globals ... DONE [18:01:15.355] Resolving globals: FALSE [18:01:15.373] The total size of the 2 globals is 395.30 KiB (404792 bytes) [18:01:15.374] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 395.30 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (395.25 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.374] - globals: [2] 'x', 'i' [18:01:15.374] [18:01:15.375] getGlobalsAndPackages() ... DONE [18:01:15.375] getGlobalsAndPackages() ... [18:01:15.375] Searching for globals... [18:01:15.377] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.377] Searching for globals ... DONE [18:01:15.378] Resolving globals: FALSE [18:01:15.397] The total size of the 2 globals is 403.54 KiB (413224 bytes) [18:01:15.397] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 403.54 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (403.48 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.397] - globals: [2] 'x', 'i' [18:01:15.398] [18:01:15.398] getGlobalsAndPackages() ... DONE [18:01:15.398] getGlobalsAndPackages() ... [18:01:15.399] Searching for globals... [18:01:15.401] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.401] Searching for globals ... DONE [18:01:15.401] Resolving globals: FALSE [18:01:15.421] The total size of the 2 globals is 411.77 KiB (421656 bytes) [18:01:15.422] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 411.77 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (411.72 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.422] - globals: [2] 'x', 'i' [18:01:15.422] [18:01:15.422] getGlobalsAndPackages() ... DONE [18:01:15.423] getGlobalsAndPackages() ... [18:01:15.423] Searching for globals... [18:01:15.425] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.425] Searching for globals ... DONE [18:01:15.425] Resolving globals: FALSE [18:01:15.445] The total size of the 2 globals is 420.01 KiB (430088 bytes) [18:01:15.446] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 420.01 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (419.95 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.446] - globals: [2] 'x', 'i' [18:01:15.446] [18:01:15.446] getGlobalsAndPackages() ... DONE [18:01:15.447] getGlobalsAndPackages() ... [18:01:15.447] Searching for globals... [18:01:15.449] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.449] Searching for globals ... DONE [18:01:15.449] Resolving globals: FALSE [18:01:15.470] The total size of the 2 globals is 428.24 KiB (438520 bytes) [18:01:15.470] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 428.24 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (428.19 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.470] - globals: [2] 'x', 'i' [18:01:15.471] [18:01:15.471] getGlobalsAndPackages() ... DONE [18:01:15.471] getGlobalsAndPackages() ... [18:01:15.472] Searching for globals... [18:01:15.473] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.474] Searching for globals ... DONE [18:01:15.474] Resolving globals: FALSE [18:01:15.495] The total size of the 2 globals is 436.48 KiB (446952 bytes) [18:01:15.496] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 436.48 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (436.42 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.496] - globals: [2] 'x', 'i' [18:01:15.496] [18:01:15.496] getGlobalsAndPackages() ... DONE [18:01:15.497] getGlobalsAndPackages() ... [18:01:15.497] Searching for globals... [18:01:15.499] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.499] Searching for globals ... DONE [18:01:15.499] Resolving globals: FALSE [18:01:15.521] The total size of the 2 globals is 444.71 KiB (455384 bytes) [18:01:15.521] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 444.71 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (444.66 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.522] - globals: [2] 'x', 'i' [18:01:15.522] [18:01:15.522] getGlobalsAndPackages() ... DONE [18:01:15.523] getGlobalsAndPackages() ... [18:01:15.523] Searching for globals... [18:01:15.525] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.525] Searching for globals ... DONE [18:01:15.525] Resolving globals: FALSE [18:01:15.547] The total size of the 2 globals is 452.95 KiB (463816 bytes) [18:01:15.547] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 452.95 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (452.89 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.547] - globals: [2] 'x', 'i' [18:01:15.547] [18:01:15.548] getGlobalsAndPackages() ... DONE [18:01:15.548] getGlobalsAndPackages() ... [18:01:15.548] Searching for globals... [18:01:15.550] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.551] Searching for globals ... DONE [18:01:15.551] Resolving globals: FALSE [18:01:15.573] The total size of the 2 globals is 461.18 KiB (472248 bytes) [18:01:15.574] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 461.18 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (461.12 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.574] - globals: [2] 'x', 'i' [18:01:15.574] [18:01:15.574] getGlobalsAndPackages() ... DONE [18:01:15.575] getGlobalsAndPackages() ... [18:01:15.575] Searching for globals... [18:01:15.577] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.577] Searching for globals ... DONE [18:01:15.577] Resolving globals: FALSE [18:01:15.600] The total size of the 2 globals is 469.41 KiB (480680 bytes) [18:01:15.600] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 469.41 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (469.36 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.600] - globals: [2] 'x', 'i' [18:01:15.601] [18:01:15.601] getGlobalsAndPackages() ... DONE [18:01:15.601] getGlobalsAndPackages() ... [18:01:15.601] Searching for globals... [18:01:15.603] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.604] Searching for globals ... DONE [18:01:15.604] Resolving globals: FALSE [18:01:15.626] The total size of the 2 globals is 477.65 KiB (489112 bytes) [18:01:15.627] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 477.65 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (477.59 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.628] - globals: [2] 'x', 'i' [18:01:15.628] [18:01:15.628] getGlobalsAndPackages() ... DONE [18:01:15.629] getGlobalsAndPackages() ... [18:01:15.629] Searching for globals... [18:01:15.631] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.631] Searching for globals ... DONE [18:01:15.631] Resolving globals: FALSE [18:01:15.654] The total size of the 2 globals is 485.88 KiB (497544 bytes) [18:01:15.655] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 485.88 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (485.83 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.655] - globals: [2] 'x', 'i' [18:01:15.655] [18:01:15.655] getGlobalsAndPackages() ... DONE [18:01:15.656] getGlobalsAndPackages() ... [18:01:15.656] Searching for globals... [18:01:15.658] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.658] Searching for globals ... DONE [18:01:15.658] Resolving globals: FALSE [18:01:15.682] The total size of the 2 globals is 494.12 KiB (505976 bytes) [18:01:15.682] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 494.12 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (494.06 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.682] - globals: [2] 'x', 'i' [18:01:15.683] [18:01:15.683] getGlobalsAndPackages() ... DONE [18:01:15.683] getGlobalsAndPackages() ... [18:01:15.684] Searching for globals... [18:01:15.686] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.686] Searching for globals ... DONE [18:01:15.687] Resolving globals: FALSE [18:01:15.711] The total size of the 2 globals is 502.35 KiB (514408 bytes) [18:01:15.711] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 502.35 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (502.30 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.711] - globals: [2] 'x', 'i' [18:01:15.711] [18:01:15.712] getGlobalsAndPackages() ... DONE [18:01:15.712] getGlobalsAndPackages() ... [18:01:15.712] Searching for globals... [18:01:15.714] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.715] Searching for globals ... DONE [18:01:15.715] Resolving globals: FALSE [18:01:15.740] The total size of the 2 globals is 510.59 KiB (522840 bytes) [18:01:15.740] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 510.59 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (510.53 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.740] - globals: [2] 'x', 'i' [18:01:15.741] [18:01:15.741] getGlobalsAndPackages() ... DONE [18:01:15.741] getGlobalsAndPackages() ... [18:01:15.741] Searching for globals... [18:01:15.743] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.744] Searching for globals ... DONE [18:01:15.744] Resolving globals: FALSE [18:01:15.768] The total size of the 2 globals is 518.82 KiB (531272 bytes) [18:01:15.769] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 518.82 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (518.77 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.769] - globals: [2] 'x', 'i' [18:01:15.769] [18:01:15.769] getGlobalsAndPackages() ... DONE [18:01:15.770] getGlobalsAndPackages() ... [18:01:15.770] Searching for globals... [18:01:15.772] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.772] Searching for globals ... DONE [18:01:15.773] Resolving globals: FALSE [18:01:15.798] The total size of the 2 globals is 527.05 KiB (539704 bytes) [18:01:15.799] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 527.05 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (527.00 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.799] - globals: [2] 'x', 'i' [18:01:15.799] [18:01:15.799] getGlobalsAndPackages() ... DONE [18:01:15.800] getGlobalsAndPackages() ... [18:01:15.800] Searching for globals... [18:01:15.802] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.802] Searching for globals ... DONE [18:01:15.802] Resolving globals: FALSE [18:01:15.828] The total size of the 2 globals is 535.29 KiB (548136 bytes) [18:01:15.828] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 535.29 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (535.23 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.829] - globals: [2] 'x', 'i' [18:01:15.829] [18:01:15.829] getGlobalsAndPackages() ... DONE [18:01:15.830] getGlobalsAndPackages() ... [18:01:15.830] Searching for globals... [18:01:15.832] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.833] Searching for globals ... DONE [18:01:15.833] Resolving globals: FALSE [18:01:15.858] The total size of the 2 globals is 543.52 KiB (556568 bytes) [18:01:15.859] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 543.52 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (543.47 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.859] - globals: [2] 'x', 'i' [18:01:15.859] [18:01:15.860] getGlobalsAndPackages() ... DONE [18:01:15.860] getGlobalsAndPackages() ... [18:01:15.860] Searching for globals... [18:01:15.862] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.862] Searching for globals ... DONE [18:01:15.863] Resolving globals: FALSE [18:01:15.892] The total size of the 2 globals is 551.76 KiB (565000 bytes) [18:01:15.893] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 551.76 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (551.70 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.893] - globals: [2] 'x', 'i' [18:01:15.893] [18:01:15.893] getGlobalsAndPackages() ... DONE [18:01:15.894] getGlobalsAndPackages() ... [18:01:15.894] Searching for globals... [18:01:15.896] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.896] Searching for globals ... DONE [18:01:15.896] Resolving globals: FALSE [18:01:15.924] The total size of the 2 globals is 559.99 KiB (573432 bytes) [18:01:15.925] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 559.99 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (559.94 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.925] - globals: [2] 'x', 'i' [18:01:15.925] [18:01:15.925] getGlobalsAndPackages() ... DONE [18:01:15.926] getGlobalsAndPackages() ... [18:01:15.926] Searching for globals... [18:01:15.928] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.928] Searching for globals ... DONE [18:01:15.928] Resolving globals: FALSE [18:01:15.955] The total size of the 2 globals is 568.23 KiB (581864 bytes) [18:01:15.956] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 568.23 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (568.17 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.956] - globals: [2] 'x', 'i' [18:01:15.956] [18:01:15.957] getGlobalsAndPackages() ... DONE [18:01:15.957] getGlobalsAndPackages() ... [18:01:15.957] Searching for globals... [18:01:15.959] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.959] Searching for globals ... DONE [18:01:15.960] Resolving globals: FALSE [18:01:15.988] The total size of the 2 globals is 576.46 KiB (590296 bytes) [18:01:15.988] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 576.46 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (576.41 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:15.989] - globals: [2] 'x', 'i' [18:01:15.989] [18:01:15.989] getGlobalsAndPackages() ... DONE [18:01:15.990] getGlobalsAndPackages() ... [18:01:15.990] Searching for globals... [18:01:15.992] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:15.992] Searching for globals ... DONE [18:01:15.992] Resolving globals: FALSE [18:01:16.021] The total size of the 2 globals is 584.70 KiB (598728 bytes) [18:01:16.021] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 584.70 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (584.64 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.022] - globals: [2] 'x', 'i' [18:01:16.022] [18:01:16.022] getGlobalsAndPackages() ... DONE [18:01:16.023] getGlobalsAndPackages() ... [18:01:16.023] Searching for globals... [18:01:16.025] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.025] Searching for globals ... DONE [18:01:16.025] Resolving globals: FALSE [18:01:16.054] The total size of the 2 globals is 592.93 KiB (607160 bytes) [18:01:16.055] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 592.93 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (592.88 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.055] - globals: [2] 'x', 'i' [18:01:16.055] [18:01:16.055] getGlobalsAndPackages() ... DONE [18:01:16.056] getGlobalsAndPackages() ... [18:01:16.056] Searching for globals... [18:01:16.058] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.058] Searching for globals ... DONE [18:01:16.058] Resolving globals: FALSE [18:01:16.088] The total size of the 2 globals is 601.16 KiB (615592 bytes) [18:01:16.088] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 601.16 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (601.11 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.088] - globals: [2] 'x', 'i' [18:01:16.089] [18:01:16.089] getGlobalsAndPackages() ... DONE [18:01:16.089] getGlobalsAndPackages() ... [18:01:16.090] Searching for globals... [18:01:16.092] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.092] Searching for globals ... DONE [18:01:16.092] Resolving globals: FALSE [18:01:16.121] The total size of the 2 globals is 609.40 KiB (624024 bytes) [18:01:16.122] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 609.40 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (609.34 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.122] - globals: [2] 'x', 'i' [18:01:16.122] [18:01:16.122] getGlobalsAndPackages() ... DONE [18:01:16.124] getGlobalsAndPackages() ... [18:01:16.124] Searching for globals... [18:01:16.126] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.126] Searching for globals ... DONE [18:01:16.126] Resolving globals: FALSE [18:01:16.156] The total size of the 2 globals is 617.63 KiB (632456 bytes) [18:01:16.156] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 617.63 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (617.58 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.156] - globals: [2] 'x', 'i' [18:01:16.157] [18:01:16.157] getGlobalsAndPackages() ... DONE [18:01:16.157] getGlobalsAndPackages() ... [18:01:16.158] Searching for globals... [18:01:16.160] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.160] Searching for globals ... DONE [18:01:16.161] Resolving globals: FALSE [18:01:16.191] The total size of the 2 globals is 625.87 KiB (640888 bytes) [18:01:16.191] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 625.87 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (625.81 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.191] - globals: [2] 'x', 'i' [18:01:16.192] [18:01:16.192] getGlobalsAndPackages() ... DONE [18:01:16.192] getGlobalsAndPackages() ... [18:01:16.192] Searching for globals... [18:01:16.195] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.195] Searching for globals ... DONE [18:01:16.195] Resolving globals: FALSE [18:01:16.226] The total size of the 2 globals is 634.10 KiB (649320 bytes) [18:01:16.227] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 634.10 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (634.05 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.227] - globals: [2] 'x', 'i' [18:01:16.227] [18:01:16.227] getGlobalsAndPackages() ... DONE [18:01:16.228] getGlobalsAndPackages() ... [18:01:16.228] Searching for globals... [18:01:16.230] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.231] Searching for globals ... DONE [18:01:16.231] Resolving globals: FALSE [18:01:16.262] The total size of the 2 globals is 642.34 KiB (657752 bytes) [18:01:16.262] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 642.34 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (642.28 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.263] - globals: [2] 'x', 'i' [18:01:16.263] [18:01:16.263] getGlobalsAndPackages() ... DONE [18:01:16.264] getGlobalsAndPackages() ... [18:01:16.264] Searching for globals... [18:01:16.266] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.267] Searching for globals ... DONE [18:01:16.267] Resolving globals: FALSE [18:01:16.299] The total size of the 2 globals is 650.57 KiB (666184 bytes) [18:01:16.299] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 650.57 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (650.52 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.300] - globals: [2] 'x', 'i' [18:01:16.300] [18:01:16.300] getGlobalsAndPackages() ... DONE [18:01:16.301] getGlobalsAndPackages() ... [18:01:16.301] Searching for globals... [18:01:16.303] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.303] Searching for globals ... DONE [18:01:16.303] Resolving globals: FALSE [18:01:16.336] The total size of the 2 globals is 658.80 KiB (674616 bytes) [18:01:16.336] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 658.80 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (658.75 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.336] - globals: [2] 'x', 'i' [18:01:16.336] [18:01:16.337] getGlobalsAndPackages() ... DONE [18:01:16.337] getGlobalsAndPackages() ... [18:01:16.337] Searching for globals... [18:01:16.339] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.340] Searching for globals ... DONE [18:01:16.340] Resolving globals: FALSE [18:01:16.373] The total size of the 2 globals is 667.04 KiB (683048 bytes) [18:01:16.373] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 667.04 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (666.98 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.374] - globals: [2] 'x', 'i' [18:01:16.374] [18:01:16.374] getGlobalsAndPackages() ... DONE [18:01:16.374] getGlobalsAndPackages() ... [18:01:16.375] Searching for globals... [18:01:16.377] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.377] Searching for globals ... DONE [18:01:16.377] Resolving globals: FALSE [18:01:16.410] The total size of the 2 globals is 675.27 KiB (691480 bytes) [18:01:16.411] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 675.27 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (675.22 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.411] - globals: [2] 'x', 'i' [18:01:16.411] [18:01:16.411] getGlobalsAndPackages() ... DONE [18:01:16.412] getGlobalsAndPackages() ... [18:01:16.412] Searching for globals... [18:01:16.414] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.414] Searching for globals ... DONE [18:01:16.414] Resolving globals: FALSE [18:01:16.448] The total size of the 2 globals is 683.51 KiB (699912 bytes) [18:01:16.449] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 683.51 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (683.45 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.449] - globals: [2] 'x', 'i' [18:01:16.449] [18:01:16.449] getGlobalsAndPackages() ... DONE [18:01:16.450] getGlobalsAndPackages() ... [18:01:16.450] Searching for globals... [18:01:16.452] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.452] Searching for globals ... DONE [18:01:16.452] Resolving globals: FALSE [18:01:16.486] The total size of the 2 globals is 691.74 KiB (708344 bytes) [18:01:16.487] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 691.74 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (691.69 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.487] - globals: [2] 'x', 'i' [18:01:16.487] [18:01:16.488] getGlobalsAndPackages() ... DONE [18:01:16.488] getGlobalsAndPackages() ... [18:01:16.488] Searching for globals... [18:01:16.490] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.490] Searching for globals ... DONE [18:01:16.491] Resolving globals: FALSE [18:01:16.525] The total size of the 2 globals is 699.98 KiB (716776 bytes) [18:01:16.526] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 699.98 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (699.92 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.526] - globals: [2] 'x', 'i' [18:01:16.526] [18:01:16.527] getGlobalsAndPackages() ... DONE [18:01:16.528] getGlobalsAndPackages() ... [18:01:16.528] Searching for globals... [18:01:16.530] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.530] Searching for globals ... DONE [18:01:16.531] Resolving globals: FALSE [18:01:16.566] The total size of the 2 globals is 708.21 KiB (725208 bytes) [18:01:16.566] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 708.21 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (708.16 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.566] - globals: [2] 'x', 'i' [18:01:16.566] [18:01:16.567] getGlobalsAndPackages() ... DONE [18:01:16.567] getGlobalsAndPackages() ... [18:01:16.567] Searching for globals... [18:01:16.569] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.570] Searching for globals ... DONE [18:01:16.570] Resolving globals: FALSE [18:01:16.605] The total size of the 2 globals is 716.45 KiB (733640 bytes) [18:01:16.606] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 716.45 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (716.39 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.606] - globals: [2] 'x', 'i' [18:01:16.606] [18:01:16.606] getGlobalsAndPackages() ... DONE [18:01:16.607] getGlobalsAndPackages() ... [18:01:16.607] Searching for globals... [18:01:16.609] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.609] Searching for globals ... DONE [18:01:16.609] Resolving globals: FALSE [18:01:16.645] The total size of the 2 globals is 724.68 KiB (742072 bytes) [18:01:16.646] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 724.68 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (724.62 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.646] - globals: [2] 'x', 'i' [18:01:16.647] [18:01:16.647] getGlobalsAndPackages() ... DONE [18:01:16.648] getGlobalsAndPackages() ... [18:01:16.648] Searching for globals... [18:01:16.650] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.650] Searching for globals ... DONE [18:01:16.651] Resolving globals: FALSE [18:01:16.687] The total size of the 2 globals is 732.91 KiB (750504 bytes) [18:01:16.688] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 732.91 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (732.86 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.688] - globals: [2] 'x', 'i' [18:01:16.688] [18:01:16.688] getGlobalsAndPackages() ... DONE [18:01:16.689] getGlobalsAndPackages() ... [18:01:16.689] Searching for globals... [18:01:16.691] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.691] Searching for globals ... DONE [18:01:16.691] Resolving globals: FALSE [18:01:16.728] The total size of the 2 globals is 741.15 KiB (758936 bytes) [18:01:16.729] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 741.15 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (741.09 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.729] - globals: [2] 'x', 'i' [18:01:16.729] [18:01:16.729] getGlobalsAndPackages() ... DONE [18:01:16.730] getGlobalsAndPackages() ... [18:01:16.730] Searching for globals... [18:01:16.732] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.732] Searching for globals ... DONE [18:01:16.732] Resolving globals: FALSE [18:01:16.770] The total size of the 2 globals is 749.38 KiB (767368 bytes) [18:01:16.771] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 749.38 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (749.33 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.771] - globals: [2] 'x', 'i' [18:01:16.771] [18:01:16.771] getGlobalsAndPackages() ... DONE [18:01:16.772] getGlobalsAndPackages() ... [18:01:16.772] Searching for globals... [18:01:16.774] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.774] Searching for globals ... DONE [18:01:16.775] Resolving globals: FALSE [18:01:16.812] The total size of the 2 globals is 757.62 KiB (775800 bytes) [18:01:16.813] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 757.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (757.56 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.813] - globals: [2] 'x', 'i' [18:01:16.813] [18:01:16.813] getGlobalsAndPackages() ... DONE [18:01:16.814] getGlobalsAndPackages() ... [18:01:16.814] Searching for globals... [18:01:16.816] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.816] Searching for globals ... DONE [18:01:16.816] Resolving globals: FALSE [18:01:16.855] The total size of the 2 globals is 765.85 KiB (784232 bytes) [18:01:16.856] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 765.85 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (765.80 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.856] - globals: [2] 'x', 'i' [18:01:16.856] [18:01:16.856] getGlobalsAndPackages() ... DONE [18:01:16.857] getGlobalsAndPackages() ... [18:01:16.857] Searching for globals... [18:01:16.859] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.859] Searching for globals ... DONE [18:01:16.859] Resolving globals: FALSE [18:01:16.900] The total size of the 2 globals is 774.09 KiB (792664 bytes) [18:01:16.900] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 774.09 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (774.03 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.900] - globals: [2] 'x', 'i' [18:01:16.901] [18:01:16.901] getGlobalsAndPackages() ... DONE [18:01:16.901] getGlobalsAndPackages() ... [18:01:16.901] Searching for globals... [18:01:16.903] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.904] Searching for globals ... DONE [18:01:16.904] Resolving globals: FALSE [18:01:16.943] The total size of the 2 globals is 782.32 KiB (801096 bytes) [18:01:16.944] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 782.32 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (782.27 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.944] - globals: [2] 'x', 'i' [18:01:16.944] [18:01:16.944] getGlobalsAndPackages() ... DONE [18:01:16.945] getGlobalsAndPackages() ... [18:01:16.945] Searching for globals... [18:01:16.947] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.947] Searching for globals ... DONE [18:01:16.948] Resolving globals: FALSE [18:01:16.987] The total size of the 2 globals is 790.55 KiB (809528 bytes) [18:01:16.987] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 790.55 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (790.50 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:16.988] - globals: [2] 'x', 'i' [18:01:16.988] [18:01:16.988] getGlobalsAndPackages() ... DONE [18:01:16.989] getGlobalsAndPackages() ... [18:01:16.990] Searching for globals... [18:01:16.992] - globals found: [6] '{', '+', '[[', 'x', '-', 'i' [18:01:16.992] Searching for globals ... DONE [18:01:16.992] Resolving globals: FALSE [18:01:17.056] The total size of the 2 globals is 798.79 KiB (817960 bytes) [18:01:17.056] The total size of the 2 globals exported for future expression ('{; x[[i - 2]] + x[[i - 1]]; }') is 798.79 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (798.73 KiB of class 'environment') and 'i' (56 bytes of class 'numeric') [18:01:17.057] - globals: [2] 'x', 'i' [18:01:17.057] [18:01:17.057] 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]]) [18:01:17.058] run() for 'Future' ... [18:01:17.059] - state: 'created' [18:01:17.059] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:17.059] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:17.060] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:17.060] - Field: 'label' [18:01:17.060] - Field: 'local' [18:01:17.060] - Field: 'owner' [18:01:17.061] - Field: 'envir' [18:01:17.061] - Field: 'packages' [18:01:17.061] - Field: 'gc' [18:01:17.061] - Field: 'conditions' [18:01:17.061] - Field: 'expr' [18:01:17.062] - Field: 'uuid' [18:01:17.062] - Field: 'seed' [18:01:17.062] - Field: 'version' [18:01:17.062] - Field: 'result' [18:01:17.062] - Field: 'asynchronous' [18:01:17.063] - Field: 'calls' [18:01:17.063] - Field: 'globals' [18:01:17.063] - Field: 'stdout' [18:01:17.063] - Field: 'earlySignal' [18:01:17.063] - Field: 'lazy' [18:01:17.064] - Field: 'state' [18:01:17.064] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:17.064] - Launch lazy future ... [18:01:17.065] Packages needed by the future expression (n = 0): [18:01:17.065] Packages needed by future strategies (n = 0): [18:01:17.066] { [18:01:17.066] { [18:01:17.066] { [18:01:17.066] ...future.startTime <- base::Sys.time() [18:01:17.066] { [18:01:17.066] { [18:01:17.066] { [18:01:17.066] base::local({ [18:01:17.066] has_future <- base::requireNamespace("future", [18:01:17.066] quietly = TRUE) [18:01:17.066] if (has_future) { [18:01:17.066] ns <- base::getNamespace("future") [18:01:17.066] version <- ns[[".package"]][["version"]] [18:01:17.066] if (is.null(version)) [18:01:17.066] version <- utils::packageVersion("future") [18:01:17.066] } [18:01:17.066] else { [18:01:17.066] version <- NULL [18:01:17.066] } [18:01:17.066] if (!has_future || version < "1.8.0") { [18:01:17.066] info <- base::c(r_version = base::gsub("R version ", [18:01:17.066] "", base::R.version$version.string), [18:01:17.066] platform = base::sprintf("%s (%s-bit)", [18:01:17.066] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:17.066] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:17.066] "release", "version")], collapse = " "), [18:01:17.066] hostname = base::Sys.info()[["nodename"]]) [18:01:17.066] info <- base::sprintf("%s: %s", base::names(info), [18:01:17.066] info) [18:01:17.066] info <- base::paste(info, collapse = "; ") [18:01:17.066] if (!has_future) { [18:01:17.066] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:17.066] info) [18:01:17.066] } [18:01:17.066] else { [18:01:17.066] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:17.066] info, version) [18:01:17.066] } [18:01:17.066] base::stop(msg) [18:01:17.066] } [18:01:17.066] }) [18:01:17.066] } [18:01:17.066] options(future.plan = NULL) [18:01:17.066] Sys.unsetenv("R_FUTURE_PLAN") [18:01:17.066] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:17.066] } [18:01:17.066] ...future.workdir <- getwd() [18:01:17.066] } [18:01:17.066] ...future.oldOptions <- base::as.list(base::.Options) [18:01:17.066] ...future.oldEnvVars <- base::Sys.getenv() [18:01:17.066] } [18:01:17.066] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:01:17.066] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:17.066] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:01:17.066] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:01:17.066] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:17.066] future.stdout.windows.reencode = NULL, width = 80L) [18:01:17.066] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:17.066] base::names(...future.oldOptions)) [18:01:17.066] } [18:01:17.066] if (TRUE) { [18:01:17.066] } [18:01:17.066] else { [18:01:17.066] if (NA) { [18:01:17.066] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:17.066] open = "w") [18:01:17.066] } [18:01:17.066] else { [18:01:17.066] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:17.066] windows = "NUL", "/dev/null"), open = "w") [18:01:17.066] } [18:01:17.066] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:17.066] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:17.066] base::sink(type = "output", split = FALSE) [18:01:17.066] base::close(...future.stdout) [18:01:17.066] }, add = TRUE) [18:01:17.066] } [18:01:17.066] ...future.frame <- base::sys.nframe() [18:01:17.066] ...future.conditions <- base::list() [18:01:17.066] ...future.rng <- base::globalenv()$.Random.seed [18:01:17.066] if (FALSE) { [18:01:17.066] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:17.066] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:17.066] } [18:01:17.066] ...future.result <- base::tryCatch({ [18:01:17.066] base::withCallingHandlers({ [18:01:17.066] ...future.value <- base::withVisible(base::local({ [18:01:17.066] x[[i - 2]] + x[[i - 1]] [18:01:17.066] })) [18:01:17.066] future::FutureResult(value = ...future.value$value, [18:01:17.066] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:17.066] ...future.rng), globalenv = if (FALSE) [18:01:17.066] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:17.066] ...future.globalenv.names)) [18:01:17.066] else NULL, started = ...future.startTime, version = "1.8") [18:01:17.066] }, condition = base::local({ [18:01:17.066] c <- base::c [18:01:17.066] inherits <- base::inherits [18:01:17.066] invokeRestart <- base::invokeRestart [18:01:17.066] length <- base::length [18:01:17.066] list <- base::list [18:01:17.066] seq.int <- base::seq.int [18:01:17.066] signalCondition <- base::signalCondition [18:01:17.066] sys.calls <- base::sys.calls [18:01:17.066] `[[` <- base::`[[` [18:01:17.066] `+` <- base::`+` [18:01:17.066] `<<-` <- base::`<<-` [18:01:17.066] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:17.066] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:17.066] 3L)] [18:01:17.066] } [18:01:17.066] function(cond) { [18:01:17.066] is_error <- inherits(cond, "error") [18:01:17.066] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:17.066] NULL) [18:01:17.066] if (is_error) { [18:01:17.066] sessionInformation <- function() { [18:01:17.066] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:17.066] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:17.066] search = base::search(), system = base::Sys.info()) [18:01:17.066] } [18:01:17.066] ...future.conditions[[length(...future.conditions) + [18:01:17.066] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:17.066] cond$call), session = sessionInformation(), [18:01:17.066] timestamp = base::Sys.time(), signaled = 0L) [18:01:17.066] signalCondition(cond) [18:01:17.066] } [18:01:17.066] else if (!ignore && TRUE && inherits(cond, c("error", [18:01:17.066] "immediateCondition"))) { [18:01:17.066] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:17.066] ...future.conditions[[length(...future.conditions) + [18:01:17.066] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:17.066] if (TRUE && !signal) { [18:01:17.066] muffleCondition <- function (cond, pattern = "^muffle") [18:01:17.066] { [18:01:17.066] inherits <- base::inherits [18:01:17.066] invokeRestart <- base::invokeRestart [18:01:17.066] is.null <- base::is.null [18:01:17.066] muffled <- FALSE [18:01:17.066] if (inherits(cond, "message")) { [18:01:17.066] muffled <- grepl(pattern, "muffleMessage") [18:01:17.066] if (muffled) [18:01:17.066] invokeRestart("muffleMessage") [18:01:17.066] } [18:01:17.066] else if (inherits(cond, "warning")) { [18:01:17.066] muffled <- grepl(pattern, "muffleWarning") [18:01:17.066] if (muffled) [18:01:17.066] invokeRestart("muffleWarning") [18:01:17.066] } [18:01:17.066] else if (inherits(cond, "condition")) { [18:01:17.066] if (!is.null(pattern)) { [18:01:17.066] computeRestarts <- base::computeRestarts [18:01:17.066] grepl <- base::grepl [18:01:17.066] restarts <- computeRestarts(cond) [18:01:17.066] for (restart in restarts) { [18:01:17.066] name <- restart$name [18:01:17.066] if (is.null(name)) [18:01:17.066] next [18:01:17.066] if (!grepl(pattern, name)) [18:01:17.066] next [18:01:17.066] invokeRestart(restart) [18:01:17.066] muffled <- TRUE [18:01:17.066] break [18:01:17.066] } [18:01:17.066] } [18:01:17.066] } [18:01:17.066] invisible(muffled) [18:01:17.066] } [18:01:17.066] muffleCondition(cond, pattern = "^muffle") [18:01:17.066] } [18:01:17.066] } [18:01:17.066] else { [18:01:17.066] if (TRUE) { [18:01:17.066] muffleCondition <- function (cond, pattern = "^muffle") [18:01:17.066] { [18:01:17.066] inherits <- base::inherits [18:01:17.066] invokeRestart <- base::invokeRestart [18:01:17.066] is.null <- base::is.null [18:01:17.066] muffled <- FALSE [18:01:17.066] if (inherits(cond, "message")) { [18:01:17.066] muffled <- grepl(pattern, "muffleMessage") [18:01:17.066] if (muffled) [18:01:17.066] invokeRestart("muffleMessage") [18:01:17.066] } [18:01:17.066] else if (inherits(cond, "warning")) { [18:01:17.066] muffled <- grepl(pattern, "muffleWarning") [18:01:17.066] if (muffled) [18:01:17.066] invokeRestart("muffleWarning") [18:01:17.066] } [18:01:17.066] else if (inherits(cond, "condition")) { [18:01:17.066] if (!is.null(pattern)) { [18:01:17.066] computeRestarts <- base::computeRestarts [18:01:17.066] grepl <- base::grepl [18:01:17.066] restarts <- computeRestarts(cond) [18:01:17.066] for (restart in restarts) { [18:01:17.066] name <- restart$name [18:01:17.066] if (is.null(name)) [18:01:17.066] next [18:01:17.066] if (!grepl(pattern, name)) [18:01:17.066] next [18:01:17.066] invokeRestart(restart) [18:01:17.066] muffled <- TRUE [18:01:17.066] break [18:01:17.066] } [18:01:17.066] } [18:01:17.066] } [18:01:17.066] invisible(muffled) [18:01:17.066] } [18:01:17.066] muffleCondition(cond, pattern = "^muffle") [18:01:17.066] } [18:01:17.066] } [18:01:17.066] } [18:01:17.066] })) [18:01:17.066] }, error = function(ex) { [18:01:17.066] base::structure(base::list(value = NULL, visible = NULL, [18:01:17.066] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:17.066] ...future.rng), started = ...future.startTime, [18:01:17.066] finished = Sys.time(), session_uuid = NA_character_, [18:01:17.066] version = "1.8"), class = "FutureResult") [18:01:17.066] }, finally = { [18:01:17.066] if (!identical(...future.workdir, getwd())) [18:01:17.066] setwd(...future.workdir) [18:01:17.066] { [18:01:17.066] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:17.066] ...future.oldOptions$nwarnings <- NULL [18:01:17.066] } [18:01:17.066] base::options(...future.oldOptions) [18:01:17.066] if (.Platform$OS.type == "windows") { [18:01:17.066] old_names <- names(...future.oldEnvVars) [18:01:17.066] envs <- base::Sys.getenv() [18:01:17.066] names <- names(envs) [18:01:17.066] common <- intersect(names, old_names) [18:01:17.066] added <- setdiff(names, old_names) [18:01:17.066] removed <- setdiff(old_names, names) [18:01:17.066] changed <- common[...future.oldEnvVars[common] != [18:01:17.066] envs[common]] [18:01:17.066] NAMES <- toupper(changed) [18:01:17.066] args <- list() [18:01:17.066] for (kk in seq_along(NAMES)) { [18:01:17.066] name <- changed[[kk]] [18:01:17.066] NAME <- NAMES[[kk]] [18:01:17.066] if (name != NAME && is.element(NAME, old_names)) [18:01:17.066] next [18:01:17.066] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:17.066] } [18:01:17.066] NAMES <- toupper(added) [18:01:17.066] for (kk in seq_along(NAMES)) { [18:01:17.066] name <- added[[kk]] [18:01:17.066] NAME <- NAMES[[kk]] [18:01:17.066] if (name != NAME && is.element(NAME, old_names)) [18:01:17.066] next [18:01:17.066] args[[name]] <- "" [18:01:17.066] } [18:01:17.066] NAMES <- toupper(removed) [18:01:17.066] for (kk in seq_along(NAMES)) { [18:01:17.066] name <- removed[[kk]] [18:01:17.066] NAME <- NAMES[[kk]] [18:01:17.066] if (name != NAME && is.element(NAME, old_names)) [18:01:17.066] next [18:01:17.066] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:17.066] } [18:01:17.066] if (length(args) > 0) [18:01:17.066] base::do.call(base::Sys.setenv, args = args) [18:01:17.066] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:17.066] } [18:01:17.066] else { [18:01:17.066] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:17.066] } [18:01:17.066] { [18:01:17.066] if (base::length(...future.futureOptionsAdded) > [18:01:17.066] 0L) { [18:01:17.066] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:17.066] base::names(opts) <- ...future.futureOptionsAdded [18:01:17.066] base::options(opts) [18:01:17.066] } [18:01:17.066] { [18:01:17.066] { [18:01:17.066] NULL [18:01:17.066] RNGkind("Mersenne-Twister") [18:01:17.066] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:17.066] inherits = FALSE) [18:01:17.066] } [18:01:17.066] options(future.plan = NULL) [18:01:17.066] if (is.na(NA_character_)) [18:01:17.066] Sys.unsetenv("R_FUTURE_PLAN") [18:01:17.066] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:17.066] future::plan(list(function (..., envir = parent.frame()) [18:01:17.066] { [18:01:17.066] future <- SequentialFuture(..., envir = envir) [18:01:17.066] if (!future$lazy) [18:01:17.066] future <- run(future) [18:01:17.066] invisible(future) [18:01:17.066] }), .cleanup = FALSE, .init = FALSE) [18:01:17.066] } [18:01:17.066] } [18:01:17.066] } [18:01:17.066] }) [18:01:17.066] if (FALSE) { [18:01:17.066] base::sink(type = "output", split = FALSE) [18:01:17.066] if (NA) { [18:01:17.066] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:17.066] } [18:01:17.066] else { [18:01:17.066] ...future.result["stdout"] <- base::list(NULL) [18:01:17.066] } [18:01:17.066] base::close(...future.stdout) [18:01:17.066] ...future.stdout <- NULL [18:01:17.066] } [18:01:17.066] ...future.result$conditions <- ...future.conditions [18:01:17.066] ...future.result$finished <- base::Sys.time() [18:01:17.066] ...future.result [18:01:17.066] } [18:01:17.071] assign_globals() ... [18:01:17.071] List of 2 [18:01:17.071] $ x:Classes 'listenv', 'environment' [18:01:17.071] $ i: int 7 [18:01:17.071] - attr(*, "where")=List of 2 [18:01:17.071] ..$ x: [18:01:17.071] ..$ i: [18:01:17.071] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:17.071] - attr(*, "resolved")= logi FALSE [18:01:17.071] - attr(*, "total_size")= num 33784 [18:01:17.071] - attr(*, "already-done")= logi TRUE [18:01:17.078] - copied 'x' to environment [18:01:17.078] - copied 'i' to environment [18:01:17.079] assign_globals() ... done [18:01:17.079] plan(): Setting new future strategy stack: [18:01:17.079] List of future strategies: [18:01:17.079] 1. sequential: [18:01:17.079] - args: function (..., envir = parent.frame()) [18:01:17.079] - tweaked: FALSE [18:01:17.079] - call: NULL [18:01:17.080] plan(): nbrOfWorkers() = 1 [18:01:17.191] plan(): Setting new future strategy stack: [18:01:17.191] List of future strategies: [18:01:17.191] 1. sequential: [18:01:17.191] - args: function (..., envir = parent.frame()) [18:01:17.191] - tweaked: FALSE [18:01:17.191] - call: plan(sequential) [18:01:17.191] plan(): nbrOfWorkers() = 1 [18:01:17.192] SequentialFuture started (and completed) [18:01:17.192] - Launch lazy future ... done [18:01:17.192] 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]]) [18:01:17.193] run() for 'Future' ... [18:01:17.193] - state: 'created' [18:01:17.193] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:17.193] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:17.194] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:17.194] - Field: 'label' [18:01:17.194] - Field: 'local' [18:01:17.194] - Field: 'owner' [18:01:17.194] - Field: 'envir' [18:01:17.194] - Field: 'packages' [18:01:17.195] - Field: 'gc' [18:01:17.195] - Field: 'conditions' [18:01:17.195] - Field: 'expr' [18:01:17.195] - Field: 'uuid' [18:01:17.195] - Field: 'seed' [18:01:17.196] - Field: 'version' [18:01:17.196] - Field: 'result' [18:01:17.196] - Field: 'asynchronous' [18:01:17.196] - Field: 'calls' [18:01:17.196] - Field: 'globals' [18:01:17.196] - Field: 'stdout' [18:01:17.197] - Field: 'earlySignal' [18:01:17.197] - Field: 'lazy' [18:01:17.197] - Field: 'state' [18:01:17.197] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:17.197] - Launch lazy future ... [18:01:17.198] Packages needed by the future expression (n = 0): [18:01:17.198] Packages needed by future strategies (n = 0): [18:01:17.198] { [18:01:17.198] { [18:01:17.198] { [18:01:17.198] ...future.startTime <- base::Sys.time() [18:01:17.198] { [18:01:17.198] { [18:01:17.198] { [18:01:17.198] base::local({ [18:01:17.198] has_future <- base::requireNamespace("future", [18:01:17.198] quietly = TRUE) [18:01:17.198] if (has_future) { [18:01:17.198] ns <- base::getNamespace("future") [18:01:17.198] version <- ns[[".package"]][["version"]] [18:01:17.198] if (is.null(version)) [18:01:17.198] version <- utils::packageVersion("future") [18:01:17.198] } [18:01:17.198] else { [18:01:17.198] version <- NULL [18:01:17.198] } [18:01:17.198] if (!has_future || version < "1.8.0") { [18:01:17.198] info <- base::c(r_version = base::gsub("R version ", [18:01:17.198] "", base::R.version$version.string), [18:01:17.198] platform = base::sprintf("%s (%s-bit)", [18:01:17.198] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:17.198] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:17.198] "release", "version")], collapse = " "), [18:01:17.198] hostname = base::Sys.info()[["nodename"]]) [18:01:17.198] info <- base::sprintf("%s: %s", base::names(info), [18:01:17.198] info) [18:01:17.198] info <- base::paste(info, collapse = "; ") [18:01:17.198] if (!has_future) { [18:01:17.198] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:17.198] info) [18:01:17.198] } [18:01:17.198] else { [18:01:17.198] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:17.198] info, version) [18:01:17.198] } [18:01:17.198] base::stop(msg) [18:01:17.198] } [18:01:17.198] }) [18:01:17.198] } [18:01:17.198] options(future.plan = NULL) [18:01:17.198] Sys.unsetenv("R_FUTURE_PLAN") [18:01:17.198] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:17.198] } [18:01:17.198] ...future.workdir <- getwd() [18:01:17.198] } [18:01:17.198] ...future.oldOptions <- base::as.list(base::.Options) [18:01:17.198] ...future.oldEnvVars <- base::Sys.getenv() [18:01:17.198] } [18:01:17.198] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:01:17.198] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:17.198] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:01:17.198] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:01:17.198] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:17.198] future.stdout.windows.reencode = NULL, width = 80L) [18:01:17.198] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:17.198] base::names(...future.oldOptions)) [18:01:17.198] } [18:01:17.198] if (TRUE) { [18:01:17.198] } [18:01:17.198] else { [18:01:17.198] if (NA) { [18:01:17.198] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:17.198] open = "w") [18:01:17.198] } [18:01:17.198] else { [18:01:17.198] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:17.198] windows = "NUL", "/dev/null"), open = "w") [18:01:17.198] } [18:01:17.198] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:17.198] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:17.198] base::sink(type = "output", split = FALSE) [18:01:17.198] base::close(...future.stdout) [18:01:17.198] }, add = TRUE) [18:01:17.198] } [18:01:17.198] ...future.frame <- base::sys.nframe() [18:01:17.198] ...future.conditions <- base::list() [18:01:17.198] ...future.rng <- base::globalenv()$.Random.seed [18:01:17.198] if (FALSE) { [18:01:17.198] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:17.198] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:17.198] } [18:01:17.198] ...future.result <- base::tryCatch({ [18:01:17.198] base::withCallingHandlers({ [18:01:17.198] ...future.value <- base::withVisible(base::local({ [18:01:17.198] x[[i - 2]] + x[[i - 1]] [18:01:17.198] })) [18:01:17.198] future::FutureResult(value = ...future.value$value, [18:01:17.198] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:17.198] ...future.rng), globalenv = if (FALSE) [18:01:17.198] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:17.198] ...future.globalenv.names)) [18:01:17.198] else NULL, started = ...future.startTime, version = "1.8") [18:01:17.198] }, condition = base::local({ [18:01:17.198] c <- base::c [18:01:17.198] inherits <- base::inherits [18:01:17.198] invokeRestart <- base::invokeRestart [18:01:17.198] length <- base::length [18:01:17.198] list <- base::list [18:01:17.198] seq.int <- base::seq.int [18:01:17.198] signalCondition <- base::signalCondition [18:01:17.198] sys.calls <- base::sys.calls [18:01:17.198] `[[` <- base::`[[` [18:01:17.198] `+` <- base::`+` [18:01:17.198] `<<-` <- base::`<<-` [18:01:17.198] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:17.198] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:17.198] 3L)] [18:01:17.198] } [18:01:17.198] function(cond) { [18:01:17.198] is_error <- inherits(cond, "error") [18:01:17.198] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:17.198] NULL) [18:01:17.198] if (is_error) { [18:01:17.198] sessionInformation <- function() { [18:01:17.198] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:17.198] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:17.198] search = base::search(), system = base::Sys.info()) [18:01:17.198] } [18:01:17.198] ...future.conditions[[length(...future.conditions) + [18:01:17.198] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:17.198] cond$call), session = sessionInformation(), [18:01:17.198] timestamp = base::Sys.time(), signaled = 0L) [18:01:17.198] signalCondition(cond) [18:01:17.198] } [18:01:17.198] else if (!ignore && TRUE && inherits(cond, c("error", [18:01:17.198] "immediateCondition"))) { [18:01:17.198] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:17.198] ...future.conditions[[length(...future.conditions) + [18:01:17.198] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:17.198] if (TRUE && !signal) { [18:01:17.198] muffleCondition <- function (cond, pattern = "^muffle") [18:01:17.198] { [18:01:17.198] inherits <- base::inherits [18:01:17.198] invokeRestart <- base::invokeRestart [18:01:17.198] is.null <- base::is.null [18:01:17.198] muffled <- FALSE [18:01:17.198] if (inherits(cond, "message")) { [18:01:17.198] muffled <- grepl(pattern, "muffleMessage") [18:01:17.198] if (muffled) [18:01:17.198] invokeRestart("muffleMessage") [18:01:17.198] } [18:01:17.198] else if (inherits(cond, "warning")) { [18:01:17.198] muffled <- grepl(pattern, "muffleWarning") [18:01:17.198] if (muffled) [18:01:17.198] invokeRestart("muffleWarning") [18:01:17.198] } [18:01:17.198] else if (inherits(cond, "condition")) { [18:01:17.198] if (!is.null(pattern)) { [18:01:17.198] computeRestarts <- base::computeRestarts [18:01:17.198] grepl <- base::grepl [18:01:17.198] restarts <- computeRestarts(cond) [18:01:17.198] for (restart in restarts) { [18:01:17.198] name <- restart$name [18:01:17.198] if (is.null(name)) [18:01:17.198] next [18:01:17.198] if (!grepl(pattern, name)) [18:01:17.198] next [18:01:17.198] invokeRestart(restart) [18:01:17.198] muffled <- TRUE [18:01:17.198] break [18:01:17.198] } [18:01:17.198] } [18:01:17.198] } [18:01:17.198] invisible(muffled) [18:01:17.198] } [18:01:17.198] muffleCondition(cond, pattern = "^muffle") [18:01:17.198] } [18:01:17.198] } [18:01:17.198] else { [18:01:17.198] if (TRUE) { [18:01:17.198] muffleCondition <- function (cond, pattern = "^muffle") [18:01:17.198] { [18:01:17.198] inherits <- base::inherits [18:01:17.198] invokeRestart <- base::invokeRestart [18:01:17.198] is.null <- base::is.null [18:01:17.198] muffled <- FALSE [18:01:17.198] if (inherits(cond, "message")) { [18:01:17.198] muffled <- grepl(pattern, "muffleMessage") [18:01:17.198] if (muffled) [18:01:17.198] invokeRestart("muffleMessage") [18:01:17.198] } [18:01:17.198] else if (inherits(cond, "warning")) { [18:01:17.198] muffled <- grepl(pattern, "muffleWarning") [18:01:17.198] if (muffled) [18:01:17.198] invokeRestart("muffleWarning") [18:01:17.198] } [18:01:17.198] else if (inherits(cond, "condition")) { [18:01:17.198] if (!is.null(pattern)) { [18:01:17.198] computeRestarts <- base::computeRestarts [18:01:17.198] grepl <- base::grepl [18:01:17.198] restarts <- computeRestarts(cond) [18:01:17.198] for (restart in restarts) { [18:01:17.198] name <- restart$name [18:01:17.198] if (is.null(name)) [18:01:17.198] next [18:01:17.198] if (!grepl(pattern, name)) [18:01:17.198] next [18:01:17.198] invokeRestart(restart) [18:01:17.198] muffled <- TRUE [18:01:17.198] break [18:01:17.198] } [18:01:17.198] } [18:01:17.198] } [18:01:17.198] invisible(muffled) [18:01:17.198] } [18:01:17.198] muffleCondition(cond, pattern = "^muffle") [18:01:17.198] } [18:01:17.198] } [18:01:17.198] } [18:01:17.198] })) [18:01:17.198] }, error = function(ex) { [18:01:17.198] base::structure(base::list(value = NULL, visible = NULL, [18:01:17.198] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:17.198] ...future.rng), started = ...future.startTime, [18:01:17.198] finished = Sys.time(), session_uuid = NA_character_, [18:01:17.198] version = "1.8"), class = "FutureResult") [18:01:17.198] }, finally = { [18:01:17.198] if (!identical(...future.workdir, getwd())) [18:01:17.198] setwd(...future.workdir) [18:01:17.198] { [18:01:17.198] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:17.198] ...future.oldOptions$nwarnings <- NULL [18:01:17.198] } [18:01:17.198] base::options(...future.oldOptions) [18:01:17.198] if (.Platform$OS.type == "windows") { [18:01:17.198] old_names <- names(...future.oldEnvVars) [18:01:17.198] envs <- base::Sys.getenv() [18:01:17.198] names <- names(envs) [18:01:17.198] common <- intersect(names, old_names) [18:01:17.198] added <- setdiff(names, old_names) [18:01:17.198] removed <- setdiff(old_names, names) [18:01:17.198] changed <- common[...future.oldEnvVars[common] != [18:01:17.198] envs[common]] [18:01:17.198] NAMES <- toupper(changed) [18:01:17.198] args <- list() [18:01:17.198] for (kk in seq_along(NAMES)) { [18:01:17.198] name <- changed[[kk]] [18:01:17.198] NAME <- NAMES[[kk]] [18:01:17.198] if (name != NAME && is.element(NAME, old_names)) [18:01:17.198] next [18:01:17.198] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:17.198] } [18:01:17.198] NAMES <- toupper(added) [18:01:17.198] for (kk in seq_along(NAMES)) { [18:01:17.198] name <- added[[kk]] [18:01:17.198] NAME <- NAMES[[kk]] [18:01:17.198] if (name != NAME && is.element(NAME, old_names)) [18:01:17.198] next [18:01:17.198] args[[name]] <- "" [18:01:17.198] } [18:01:17.198] NAMES <- toupper(removed) [18:01:17.198] for (kk in seq_along(NAMES)) { [18:01:17.198] name <- removed[[kk]] [18:01:17.198] NAME <- NAMES[[kk]] [18:01:17.198] if (name != NAME && is.element(NAME, old_names)) [18:01:17.198] next [18:01:17.198] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:17.198] } [18:01:17.198] if (length(args) > 0) [18:01:17.198] base::do.call(base::Sys.setenv, args = args) [18:01:17.198] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:17.198] } [18:01:17.198] else { [18:01:17.198] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:17.198] } [18:01:17.198] { [18:01:17.198] if (base::length(...future.futureOptionsAdded) > [18:01:17.198] 0L) { [18:01:17.198] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:17.198] base::names(opts) <- ...future.futureOptionsAdded [18:01:17.198] base::options(opts) [18:01:17.198] } [18:01:17.198] { [18:01:17.198] { [18:01:17.198] NULL [18:01:17.198] RNGkind("Mersenne-Twister") [18:01:17.198] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:17.198] inherits = FALSE) [18:01:17.198] } [18:01:17.198] options(future.plan = NULL) [18:01:17.198] if (is.na(NA_character_)) [18:01:17.198] Sys.unsetenv("R_FUTURE_PLAN") [18:01:17.198] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:17.198] future::plan(list(function (..., envir = parent.frame()) [18:01:17.198] { [18:01:17.198] future <- SequentialFuture(..., envir = envir) [18:01:17.198] if (!future$lazy) [18:01:17.198] future <- run(future) [18:01:17.198] invisible(future) [18:01:17.198] }), .cleanup = FALSE, .init = FALSE) [18:01:17.198] } [18:01:17.198] } [18:01:17.198] } [18:01:17.198] }) [18:01:17.198] if (FALSE) { [18:01:17.198] base::sink(type = "output", split = FALSE) [18:01:17.198] if (NA) { [18:01:17.198] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:17.198] } [18:01:17.198] else { [18:01:17.198] ...future.result["stdout"] <- base::list(NULL) [18:01:17.198] } [18:01:17.198] base::close(...future.stdout) [18:01:17.198] ...future.stdout <- NULL [18:01:17.198] } [18:01:17.198] ...future.result$conditions <- ...future.conditions [18:01:17.198] ...future.result$finished <- base::Sys.time() [18:01:17.198] ...future.result [18:01:17.198] } [18:01:17.202] assign_globals() ... [18:01:17.203] List of 2 [18:01:17.203] $ x:Classes 'listenv', 'environment' [18:01:17.203] $ i: int 50 [18:01:17.203] - attr(*, "where")=List of 2 [18:01:17.203] ..$ x: [18:01:17.203] ..$ i: [18:01:17.203] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:17.203] - attr(*, "resolved")= logi FALSE [18:01:17.203] - attr(*, "total_size")= num 396360 [18:01:17.203] - attr(*, "already-done")= logi TRUE [18:01:17.208] - copied 'x' to environment [18:01:17.208] - copied 'i' to environment [18:01:17.208] assign_globals() ... done [18:01:17.208] plan(): Setting new future strategy stack: [18:01:17.209] List of future strategies: [18:01:17.209] 1. sequential: [18:01:17.209] - args: function (..., envir = parent.frame()) [18:01:17.209] - tweaked: FALSE [18:01:17.209] - call: NULL [18:01:17.209] plan(): nbrOfWorkers() = 1 [18:01:18.397] plan(): Setting new future strategy stack: [18:01:18.397] List of future strategies: [18:01:18.397] 1. sequential: [18:01:18.397] - args: function (..., envir = parent.frame()) [18:01:18.397] - tweaked: FALSE [18:01:18.397] - call: plan(sequential) [18:01:18.397] plan(): nbrOfWorkers() = 1 [18:01:18.398] SequentialFuture started (and completed) [18:01:18.398] - Launch lazy future ... done [18:01:18.398] run() for 'SequentialFuture' ... done [1] 7778742049 > ## Reset plan > plan(oplan) [18:01:18.399] plan(): Setting new future strategy stack: [18:01:18.399] List of future strategies: [18:01:18.399] 1. sequential: [18:01:18.399] - args: function (..., envir = parent.frame()) [18:01:18.399] - tweaked: FALSE [18:01:18.399] - call: future::plan("sequential") [18:01:18.399] 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') ... [18:01:18.408] plan(): Setting new future strategy stack: [18:01:18.408] List of future strategies: [18:01:18.408] 1. sequential: [18:01:18.408] - args: function (..., envir = parent.frame()) [18:01:18.408] - tweaked: FALSE [18:01:18.408] - call: plan(strategy) [18:01:18.408] 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[18:01:18.459] getGlobalsAndPackages() ... [18:01:18.460] Searching for globals... [18:01:18.465] - globals found: [9] '{', 'message', 'sprintf', 'ii', 'n', '<-', 'mandelbrot', 'C', 'delay' [18:01:18.465] Searching for globals ... DONE [18:01:18.465] Resolving globals: FALSE [18:01:18.466] The total size of the 4 globals is 14.24 KiB (14584 bytes) [18:01:18.467] 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 14.24 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). The three largest globals are 'C' (10.72 KiB of class 'complex'), 'delay' (3.41 KiB of class 'function') and 'ii' (56 bytes of class 'numeric') [18:01:18.467] - globals: [4] 'ii', 'n', 'C', 'delay' [18:01:18.467] - packages: [1] 'future' [18:01:18.467] getGlobalsAndPackages() ... DONE 2[18:01:18.472] getGlobalsAndPackages() ... [18:01:18.472] Searching for globals... [18:01:18.476] - globals found: [9] '{', 'message', 'sprintf', 'ii', 'n', '<-', 'mandelbrot', 'C', 'delay' [18:01:18.477] Searching for globals ... DONE [18:01:18.477] Resolving globals: FALSE [18:01:18.477] The total size of the 4 globals is 14.24 KiB (14584 bytes) [18:01:18.478] 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 14.24 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). The three largest globals are 'C' (10.72 KiB of class 'complex'), 'delay' (3.41 KiB of class 'function') and 'ii' (56 bytes of class 'numeric') [18:01:18.478] - globals: [4] 'ii', 'n', 'C', 'delay' [18:01:18.478] - packages: [1] 'future' [18:01:18.479] getGlobalsAndPackages() ... DONE 3[18:01:18.479] getGlobalsAndPackages() ... [18:01:18.479] Searching for globals... [18:01:18.484] - globals found: [9] '{', 'message', 'sprintf', 'ii', 'n', '<-', 'mandelbrot', 'C', 'delay' [18:01:18.484] Searching for globals ... DONE [18:01:18.484] Resolving globals: FALSE [18:01:18.485] The total size of the 4 globals is 14.24 KiB (14584 bytes) [18:01:18.485] 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 14.24 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). The three largest globals are 'C' (10.72 KiB of class 'complex'), 'delay' (3.41 KiB of class 'function') and 'ii' (56 bytes of class 'numeric') [18:01:18.485] - globals: [4] 'ii', 'n', 'C', 'delay' [18:01:18.486] - packages: [1] 'future' [18:01:18.486] getGlobalsAndPackages() ... DONE 4[18:01:18.486] getGlobalsAndPackages() ... [18:01:18.486] Searching for globals... [18:01:18.493] - globals found: [9] '{', 'message', 'sprintf', 'ii', 'n', '<-', 'mandelbrot', 'C', 'delay' [18:01:18.494] Searching for globals ... DONE [18:01:18.494] Resolving globals: FALSE [18:01:18.494] The total size of the 4 globals is 14.24 KiB (14584 bytes) [18:01:18.495] 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 14.24 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). The three largest globals are 'C' (10.72 KiB of class 'complex'), 'delay' (3.41 KiB of class 'function') and 'ii' (56 bytes of class 'numeric') [18:01:18.495] - globals: [4] 'ii', 'n', 'C', 'delay' [18:01:18.495] - packages: [1] 'future' [18:01:18.496] getGlobalsAndPackages() ... DONE > message(".") . > ## Calculate and plot tiles > repeat { + counts <- plot_what_is_done(counts) + if (!any(sapply(counts, FUN = inherits, "Future"))) break + } [18:01:18.506] resolved() for 'Future' ... [18:01:18.507] - state: 'created' [18:01:18.507] - run: TRUE [18:01:18.507] - run() ... [18:01:18.507] run() for 'Future' ... [18:01:18.507] - state: 'created' [18:01:18.508] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:18.508] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:18.508] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:18.508] - Field: 'label' [18:01:18.509] - Field: 'local' [18:01:18.509] - Field: 'owner' [18:01:18.509] - Field: 'envir' [18:01:18.509] - Field: 'packages' [18:01:18.509] - Field: 'gc' [18:01:18.510] - Field: 'conditions' [18:01:18.510] - Field: 'expr' [18:01:18.510] - Field: 'uuid' [18:01:18.510] - Field: 'seed' [18:01:18.510] - Field: 'version' [18:01:18.510] - Field: 'result' [18:01:18.511] - Field: 'asynchronous' [18:01:18.511] - Field: 'calls' [18:01:18.511] - Field: 'globals' [18:01:18.511] - Field: 'stdout' [18:01:18.511] - Field: 'earlySignal' [18:01:18.512] - Field: 'lazy' [18:01:18.512] - Field: 'state' [18:01:18.512] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:18.512] - Launch lazy future ... [18:01:18.512] Packages needed by the future expression (n = 1): 'future' [18:01:18.513] Packages needed by future strategies (n = 0): [18:01:18.513] { [18:01:18.513] { [18:01:18.513] { [18:01:18.513] ...future.startTime <- base::Sys.time() [18:01:18.513] { [18:01:18.513] { [18:01:18.513] { [18:01:18.513] { [18:01:18.513] base::local({ [18:01:18.513] has_future <- base::requireNamespace("future", [18:01:18.513] quietly = TRUE) [18:01:18.513] if (has_future) { [18:01:18.513] ns <- base::getNamespace("future") [18:01:18.513] version <- ns[[".package"]][["version"]] [18:01:18.513] if (is.null(version)) [18:01:18.513] version <- utils::packageVersion("future") [18:01:18.513] } [18:01:18.513] else { [18:01:18.513] version <- NULL [18:01:18.513] } [18:01:18.513] if (!has_future || version < "1.8.0") { [18:01:18.513] info <- base::c(r_version = base::gsub("R version ", [18:01:18.513] "", base::R.version$version.string), [18:01:18.513] platform = base::sprintf("%s (%s-bit)", [18:01:18.513] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:18.513] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:18.513] "release", "version")], collapse = " "), [18:01:18.513] hostname = base::Sys.info()[["nodename"]]) [18:01:18.513] info <- base::sprintf("%s: %s", base::names(info), [18:01:18.513] info) [18:01:18.513] info <- base::paste(info, collapse = "; ") [18:01:18.513] if (!has_future) { [18:01:18.513] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:18.513] info) [18:01:18.513] } [18:01:18.513] else { [18:01:18.513] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:18.513] info, version) [18:01:18.513] } [18:01:18.513] base::stop(msg) [18:01:18.513] } [18:01:18.513] }) [18:01:18.513] } [18:01:18.513] base::local({ [18:01:18.513] for (pkg in "future") { [18:01:18.513] base::loadNamespace(pkg) [18:01:18.513] base::library(pkg, character.only = TRUE) [18:01:18.513] } [18:01:18.513] }) [18:01:18.513] } [18:01:18.513] options(future.plan = NULL) [18:01:18.513] Sys.unsetenv("R_FUTURE_PLAN") [18:01:18.513] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:18.513] } [18:01:18.513] ...future.workdir <- getwd() [18:01:18.513] } [18:01:18.513] ...future.oldOptions <- base::as.list(base::.Options) [18:01:18.513] ...future.oldEnvVars <- base::Sys.getenv() [18:01:18.513] } [18:01:18.513] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:01:18.513] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:18.513] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:01:18.513] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:01:18.513] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:18.513] future.stdout.windows.reencode = NULL, width = 80L) [18:01:18.513] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:18.513] base::names(...future.oldOptions)) [18:01:18.513] } [18:01:18.513] if (FALSE) { [18:01:18.513] } [18:01:18.513] else { [18:01:18.513] if (TRUE) { [18:01:18.513] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:18.513] open = "w") [18:01:18.513] } [18:01:18.513] else { [18:01:18.513] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:18.513] windows = "NUL", "/dev/null"), open = "w") [18:01:18.513] } [18:01:18.513] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:18.513] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:18.513] base::sink(type = "output", split = FALSE) [18:01:18.513] base::close(...future.stdout) [18:01:18.513] }, add = TRUE) [18:01:18.513] } [18:01:18.513] ...future.frame <- base::sys.nframe() [18:01:18.513] ...future.conditions <- base::list() [18:01:18.513] ...future.rng <- base::globalenv()$.Random.seed [18:01:18.513] if (FALSE) { [18:01:18.513] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:18.513] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:18.513] } [18:01:18.513] ...future.result <- base::tryCatch({ [18:01:18.513] base::withCallingHandlers({ [18:01:18.513] ...future.value <- base::withVisible(base::local({ [18:01:18.513] message(sprintf("Calculating tile #%d of %d ...", [18:01:18.513] ii, n), appendLF = FALSE) [18:01:18.513] fit <- mandelbrot(C) [18:01:18.513] delay(fit) [18:01:18.513] message(" done") [18:01:18.513] fit [18:01:18.513] })) [18:01:18.513] future::FutureResult(value = ...future.value$value, [18:01:18.513] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:18.513] ...future.rng), globalenv = if (FALSE) [18:01:18.513] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:18.513] ...future.globalenv.names)) [18:01:18.513] else NULL, started = ...future.startTime, version = "1.8") [18:01:18.513] }, condition = base::local({ [18:01:18.513] c <- base::c [18:01:18.513] inherits <- base::inherits [18:01:18.513] invokeRestart <- base::invokeRestart [18:01:18.513] length <- base::length [18:01:18.513] list <- base::list [18:01:18.513] seq.int <- base::seq.int [18:01:18.513] signalCondition <- base::signalCondition [18:01:18.513] sys.calls <- base::sys.calls [18:01:18.513] `[[` <- base::`[[` [18:01:18.513] `+` <- base::`+` [18:01:18.513] `<<-` <- base::`<<-` [18:01:18.513] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:18.513] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:18.513] 3L)] [18:01:18.513] } [18:01:18.513] function(cond) { [18:01:18.513] is_error <- inherits(cond, "error") [18:01:18.513] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:18.513] NULL) [18:01:18.513] if (is_error) { [18:01:18.513] sessionInformation <- function() { [18:01:18.513] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:18.513] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:18.513] search = base::search(), system = base::Sys.info()) [18:01:18.513] } [18:01:18.513] ...future.conditions[[length(...future.conditions) + [18:01:18.513] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:18.513] cond$call), session = sessionInformation(), [18:01:18.513] timestamp = base::Sys.time(), signaled = 0L) [18:01:18.513] signalCondition(cond) [18:01:18.513] } [18:01:18.513] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:18.513] "immediateCondition"))) { [18:01:18.513] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:18.513] ...future.conditions[[length(...future.conditions) + [18:01:18.513] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:18.513] if (TRUE && !signal) { [18:01:18.513] muffleCondition <- function (cond, pattern = "^muffle") [18:01:18.513] { [18:01:18.513] inherits <- base::inherits [18:01:18.513] invokeRestart <- base::invokeRestart [18:01:18.513] is.null <- base::is.null [18:01:18.513] muffled <- FALSE [18:01:18.513] if (inherits(cond, "message")) { [18:01:18.513] muffled <- grepl(pattern, "muffleMessage") [18:01:18.513] if (muffled) [18:01:18.513] invokeRestart("muffleMessage") [18:01:18.513] } [18:01:18.513] else if (inherits(cond, "warning")) { [18:01:18.513] muffled <- grepl(pattern, "muffleWarning") [18:01:18.513] if (muffled) [18:01:18.513] invokeRestart("muffleWarning") [18:01:18.513] } [18:01:18.513] else if (inherits(cond, "condition")) { [18:01:18.513] if (!is.null(pattern)) { [18:01:18.513] computeRestarts <- base::computeRestarts [18:01:18.513] grepl <- base::grepl [18:01:18.513] restarts <- computeRestarts(cond) [18:01:18.513] for (restart in restarts) { [18:01:18.513] name <- restart$name [18:01:18.513] if (is.null(name)) [18:01:18.513] next [18:01:18.513] if (!grepl(pattern, name)) [18:01:18.513] next [18:01:18.513] invokeRestart(restart) [18:01:18.513] muffled <- TRUE [18:01:18.513] break [18:01:18.513] } [18:01:18.513] } [18:01:18.513] } [18:01:18.513] invisible(muffled) [18:01:18.513] } [18:01:18.513] muffleCondition(cond, pattern = "^muffle") [18:01:18.513] } [18:01:18.513] } [18:01:18.513] else { [18:01:18.513] if (TRUE) { [18:01:18.513] muffleCondition <- function (cond, pattern = "^muffle") [18:01:18.513] { [18:01:18.513] inherits <- base::inherits [18:01:18.513] invokeRestart <- base::invokeRestart [18:01:18.513] is.null <- base::is.null [18:01:18.513] muffled <- FALSE [18:01:18.513] if (inherits(cond, "message")) { [18:01:18.513] muffled <- grepl(pattern, "muffleMessage") [18:01:18.513] if (muffled) [18:01:18.513] invokeRestart("muffleMessage") [18:01:18.513] } [18:01:18.513] else if (inherits(cond, "warning")) { [18:01:18.513] muffled <- grepl(pattern, "muffleWarning") [18:01:18.513] if (muffled) [18:01:18.513] invokeRestart("muffleWarning") [18:01:18.513] } [18:01:18.513] else if (inherits(cond, "condition")) { [18:01:18.513] if (!is.null(pattern)) { [18:01:18.513] computeRestarts <- base::computeRestarts [18:01:18.513] grepl <- base::grepl [18:01:18.513] restarts <- computeRestarts(cond) [18:01:18.513] for (restart in restarts) { [18:01:18.513] name <- restart$name [18:01:18.513] if (is.null(name)) [18:01:18.513] next [18:01:18.513] if (!grepl(pattern, name)) [18:01:18.513] next [18:01:18.513] invokeRestart(restart) [18:01:18.513] muffled <- TRUE [18:01:18.513] break [18:01:18.513] } [18:01:18.513] } [18:01:18.513] } [18:01:18.513] invisible(muffled) [18:01:18.513] } [18:01:18.513] muffleCondition(cond, pattern = "^muffle") [18:01:18.513] } [18:01:18.513] } [18:01:18.513] } [18:01:18.513] })) [18:01:18.513] }, error = function(ex) { [18:01:18.513] base::structure(base::list(value = NULL, visible = NULL, [18:01:18.513] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:18.513] ...future.rng), started = ...future.startTime, [18:01:18.513] finished = Sys.time(), session_uuid = NA_character_, [18:01:18.513] version = "1.8"), class = "FutureResult") [18:01:18.513] }, finally = { [18:01:18.513] if (!identical(...future.workdir, getwd())) [18:01:18.513] setwd(...future.workdir) [18:01:18.513] { [18:01:18.513] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:18.513] ...future.oldOptions$nwarnings <- NULL [18:01:18.513] } [18:01:18.513] base::options(...future.oldOptions) [18:01:18.513] if (.Platform$OS.type == "windows") { [18:01:18.513] old_names <- names(...future.oldEnvVars) [18:01:18.513] envs <- base::Sys.getenv() [18:01:18.513] names <- names(envs) [18:01:18.513] common <- intersect(names, old_names) [18:01:18.513] added <- setdiff(names, old_names) [18:01:18.513] removed <- setdiff(old_names, names) [18:01:18.513] changed <- common[...future.oldEnvVars[common] != [18:01:18.513] envs[common]] [18:01:18.513] NAMES <- toupper(changed) [18:01:18.513] args <- list() [18:01:18.513] for (kk in seq_along(NAMES)) { [18:01:18.513] name <- changed[[kk]] [18:01:18.513] NAME <- NAMES[[kk]] [18:01:18.513] if (name != NAME && is.element(NAME, old_names)) [18:01:18.513] next [18:01:18.513] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:18.513] } [18:01:18.513] NAMES <- toupper(added) [18:01:18.513] for (kk in seq_along(NAMES)) { [18:01:18.513] name <- added[[kk]] [18:01:18.513] NAME <- NAMES[[kk]] [18:01:18.513] if (name != NAME && is.element(NAME, old_names)) [18:01:18.513] next [18:01:18.513] args[[name]] <- "" [18:01:18.513] } [18:01:18.513] NAMES <- toupper(removed) [18:01:18.513] for (kk in seq_along(NAMES)) { [18:01:18.513] name <- removed[[kk]] [18:01:18.513] NAME <- NAMES[[kk]] [18:01:18.513] if (name != NAME && is.element(NAME, old_names)) [18:01:18.513] next [18:01:18.513] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:18.513] } [18:01:18.513] if (length(args) > 0) [18:01:18.513] base::do.call(base::Sys.setenv, args = args) [18:01:18.513] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:18.513] } [18:01:18.513] else { [18:01:18.513] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:18.513] } [18:01:18.513] { [18:01:18.513] if (base::length(...future.futureOptionsAdded) > [18:01:18.513] 0L) { [18:01:18.513] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:18.513] base::names(opts) <- ...future.futureOptionsAdded [18:01:18.513] base::options(opts) [18:01:18.513] } [18:01:18.513] { [18:01:18.513] { [18:01:18.513] NULL [18:01:18.513] RNGkind("Mersenne-Twister") [18:01:18.513] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:18.513] inherits = FALSE) [18:01:18.513] } [18:01:18.513] options(future.plan = NULL) [18:01:18.513] if (is.na(NA_character_)) [18:01:18.513] Sys.unsetenv("R_FUTURE_PLAN") [18:01:18.513] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:18.513] future::plan(list(function (..., envir = parent.frame()) [18:01:18.513] { [18:01:18.513] future <- SequentialFuture(..., envir = envir) [18:01:18.513] if (!future$lazy) [18:01:18.513] future <- run(future) [18:01:18.513] invisible(future) [18:01:18.513] }), .cleanup = FALSE, .init = FALSE) [18:01:18.513] } [18:01:18.513] } [18:01:18.513] } [18:01:18.513] }) [18:01:18.513] if (TRUE) { [18:01:18.513] base::sink(type = "output", split = FALSE) [18:01:18.513] if (TRUE) { [18:01:18.513] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:18.513] } [18:01:18.513] else { [18:01:18.513] ...future.result["stdout"] <- base::list(NULL) [18:01:18.513] } [18:01:18.513] base::close(...future.stdout) [18:01:18.513] ...future.stdout <- NULL [18:01:18.513] } [18:01:18.513] ...future.result$conditions <- ...future.conditions [18:01:18.513] ...future.result$finished <- base::Sys.time() [18:01:18.513] ...future.result [18:01:18.513] } [18:01:18.517] assign_globals() ... [18:01:18.517] List of 4 [18:01:18.517] $ ii : int 1 [18:01:18.517] $ n : int 4 [18:01:18.517] $ C : cplx [1:25, 1:25] -2.25-1.5i -2.25-1.44i -2.25-1.38i ... [18:01:18.517] ..- attr(*, "region")=List of 2 [18:01:18.517] .. ..$ xrange: num [1:2] -2.25 -0.781 [18:01:18.517] .. ..$ yrange: num [1:2] -1.5 -0.0306 [18:01:18.517] ..- attr(*, "tile")= int [1:2] 1 1 [18:01:18.517] $ delay:function (counts) [18:01:18.517] ..- attr(*, "srcref")= 'srcref' int [1:8] 41 12 41 30 12 30 41 41 [18:01:18.517] .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' [18:01:18.517] - attr(*, "where")=List of 4 [18:01:18.517] ..$ ii : [18:01:18.517] ..$ n : [18:01:18.517] ..$ C : [18:01:18.517] ..$ delay: [18:01:18.517] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:18.517] - attr(*, "resolved")= logi FALSE [18:01:18.517] - attr(*, "total_size")= num 14584 [18:01:18.517] - attr(*, "already-done")= logi TRUE [18:01:18.525] - copied 'ii' to environment [18:01:18.525] - copied 'n' to environment [18:01:18.525] - copied 'C' to environment [18:01:18.526] - reassign environment for 'delay' [18:01:18.526] - copied 'delay' to environment [18:01:18.526] assign_globals() ... done [18:01:18.527] plan(): Setting new future strategy stack: [18:01:18.527] List of future strategies: [18:01:18.527] 1. sequential: [18:01:18.527] - args: function (..., envir = parent.frame()) [18:01:18.527] - tweaked: FALSE [18:01:18.527] - call: NULL [18:01:18.527] plan(): nbrOfWorkers() = 1 [18:01:18.545] plan(): Setting new future strategy stack: [18:01:18.545] List of future strategies: [18:01:18.545] 1. sequential: [18:01:18.545] - args: function (..., envir = parent.frame()) [18:01:18.545] - tweaked: FALSE [18:01:18.545] - call: plan(strategy) [18:01:18.546] plan(): nbrOfWorkers() = 1 [18:01:18.546] SequentialFuture started (and completed) [18:01:18.546] signalConditions() ... [18:01:18.546] - include = 'immediateCondition' [18:01:18.547] - exclude = [18:01:18.547] - resignal = FALSE [18:01:18.547] - Number of conditions: 2 [18:01:18.547] signalConditions() ... done [18:01:18.547] - Launch lazy future ... done [18:01:18.547] run() for 'SequentialFuture' ... done [18:01:18.548] - run() ... done [18:01:18.548] - resolved() ... [18:01:18.548] resolved() for 'SequentialFuture' ... [18:01:18.548] - state: 'finished' [18:01:18.548] - run: TRUE [18:01:18.549] - result: 'FutureResult' [18:01:18.549] resolved() for 'SequentialFuture' ... done [18:01:18.549] - resolved: TRUE [18:01:18.549] - resolved() ... done [18:01:18.549] resolved() for 'SequentialFuture' ... done Plotting tile #1 of 4 ... [18:01:18.550] signalConditions() ... [18:01:18.550] - include = 'immediateCondition' [18:01:18.550] - exclude = [18:01:18.550] - resignal = FALSE [18:01:18.550] - Number of conditions: 2 [18:01:18.550] signalConditions() ... done [18:01:18.551] Future state: 'finished' [18:01:18.551] signalConditions() ... [18:01:18.551] - include = 'condition' [18:01:18.551] - exclude = 'immediateCondition' [18:01:18.551] - resignal = TRUE [18:01:18.551] - Number of conditions: 2 [18:01:18.552] - Condition #1: 'simpleMessage', 'message', 'condition' Calculating tile #1 of 4 ...[18:01:18.552] - Condition #2: 'simpleMessage', 'message', 'condition' done [18:01:18.552] signalConditions() ... done [18:01:18.554] resolved() for 'Future' ... [18:01:18.554] - state: 'created' [18:01:18.554] - run: TRUE [18:01:18.555] - run() ... [18:01:18.555] run() for 'Future' ... [18:01:18.555] - state: 'created' [18:01:18.555] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:18.556] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:18.556] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:18.556] - Field: 'label' [18:01:18.556] - Field: 'local' [18:01:18.556] - Field: 'owner' [18:01:18.557] - Field: 'envir' [18:01:18.557] - Field: 'packages' [18:01:18.557] - Field: 'gc' [18:01:18.557] - Field: 'conditions' [18:01:18.557] - Field: 'expr' [18:01:18.557] - Field: 'uuid' [18:01:18.558] - Field: 'seed' [18:01:18.558] - Field: 'version' [18:01:18.558] - Field: 'result' [18:01:18.558] - Field: 'asynchronous' [18:01:18.558] - Field: 'calls' [18:01:18.559] - Field: 'globals' [18:01:18.559] - Field: 'stdout' [18:01:18.559] - Field: 'earlySignal' [18:01:18.559] - Field: 'lazy' [18:01:18.559] - Field: 'state' [18:01:18.559] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:18.560] - Launch lazy future ... [18:01:18.560] Packages needed by the future expression (n = 1): 'future' [18:01:18.560] Packages needed by future strategies (n = 0): [18:01:18.561] { [18:01:18.561] { [18:01:18.561] { [18:01:18.561] ...future.startTime <- base::Sys.time() [18:01:18.561] { [18:01:18.561] { [18:01:18.561] { [18:01:18.561] { [18:01:18.561] base::local({ [18:01:18.561] has_future <- base::requireNamespace("future", [18:01:18.561] quietly = TRUE) [18:01:18.561] if (has_future) { [18:01:18.561] ns <- base::getNamespace("future") [18:01:18.561] version <- ns[[".package"]][["version"]] [18:01:18.561] if (is.null(version)) [18:01:18.561] version <- utils::packageVersion("future") [18:01:18.561] } [18:01:18.561] else { [18:01:18.561] version <- NULL [18:01:18.561] } [18:01:18.561] if (!has_future || version < "1.8.0") { [18:01:18.561] info <- base::c(r_version = base::gsub("R version ", [18:01:18.561] "", base::R.version$version.string), [18:01:18.561] platform = base::sprintf("%s (%s-bit)", [18:01:18.561] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:18.561] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:18.561] "release", "version")], collapse = " "), [18:01:18.561] hostname = base::Sys.info()[["nodename"]]) [18:01:18.561] info <- base::sprintf("%s: %s", base::names(info), [18:01:18.561] info) [18:01:18.561] info <- base::paste(info, collapse = "; ") [18:01:18.561] if (!has_future) { [18:01:18.561] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:18.561] info) [18:01:18.561] } [18:01:18.561] else { [18:01:18.561] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:18.561] info, version) [18:01:18.561] } [18:01:18.561] base::stop(msg) [18:01:18.561] } [18:01:18.561] }) [18:01:18.561] } [18:01:18.561] base::local({ [18:01:18.561] for (pkg in "future") { [18:01:18.561] base::loadNamespace(pkg) [18:01:18.561] base::library(pkg, character.only = TRUE) [18:01:18.561] } [18:01:18.561] }) [18:01:18.561] } [18:01:18.561] options(future.plan = NULL) [18:01:18.561] Sys.unsetenv("R_FUTURE_PLAN") [18:01:18.561] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:18.561] } [18:01:18.561] ...future.workdir <- getwd() [18:01:18.561] } [18:01:18.561] ...future.oldOptions <- base::as.list(base::.Options) [18:01:18.561] ...future.oldEnvVars <- base::Sys.getenv() [18:01:18.561] } [18:01:18.561] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:01:18.561] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:18.561] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:01:18.561] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:01:18.561] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:18.561] future.stdout.windows.reencode = NULL, width = 80L) [18:01:18.561] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:18.561] base::names(...future.oldOptions)) [18:01:18.561] } [18:01:18.561] if (FALSE) { [18:01:18.561] } [18:01:18.561] else { [18:01:18.561] if (TRUE) { [18:01:18.561] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:18.561] open = "w") [18:01:18.561] } [18:01:18.561] else { [18:01:18.561] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:18.561] windows = "NUL", "/dev/null"), open = "w") [18:01:18.561] } [18:01:18.561] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:18.561] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:18.561] base::sink(type = "output", split = FALSE) [18:01:18.561] base::close(...future.stdout) [18:01:18.561] }, add = TRUE) [18:01:18.561] } [18:01:18.561] ...future.frame <- base::sys.nframe() [18:01:18.561] ...future.conditions <- base::list() [18:01:18.561] ...future.rng <- base::globalenv()$.Random.seed [18:01:18.561] if (FALSE) { [18:01:18.561] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:18.561] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:18.561] } [18:01:18.561] ...future.result <- base::tryCatch({ [18:01:18.561] base::withCallingHandlers({ [18:01:18.561] ...future.value <- base::withVisible(base::local({ [18:01:18.561] message(sprintf("Calculating tile #%d of %d ...", [18:01:18.561] ii, n), appendLF = FALSE) [18:01:18.561] fit <- mandelbrot(C) [18:01:18.561] delay(fit) [18:01:18.561] message(" done") [18:01:18.561] fit [18:01:18.561] })) [18:01:18.561] future::FutureResult(value = ...future.value$value, [18:01:18.561] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:18.561] ...future.rng), globalenv = if (FALSE) [18:01:18.561] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:18.561] ...future.globalenv.names)) [18:01:18.561] else NULL, started = ...future.startTime, version = "1.8") [18:01:18.561] }, condition = base::local({ [18:01:18.561] c <- base::c [18:01:18.561] inherits <- base::inherits [18:01:18.561] invokeRestart <- base::invokeRestart [18:01:18.561] length <- base::length [18:01:18.561] list <- base::list [18:01:18.561] seq.int <- base::seq.int [18:01:18.561] signalCondition <- base::signalCondition [18:01:18.561] sys.calls <- base::sys.calls [18:01:18.561] `[[` <- base::`[[` [18:01:18.561] `+` <- base::`+` [18:01:18.561] `<<-` <- base::`<<-` [18:01:18.561] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:18.561] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:18.561] 3L)] [18:01:18.561] } [18:01:18.561] function(cond) { [18:01:18.561] is_error <- inherits(cond, "error") [18:01:18.561] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:18.561] NULL) [18:01:18.561] if (is_error) { [18:01:18.561] sessionInformation <- function() { [18:01:18.561] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:18.561] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:18.561] search = base::search(), system = base::Sys.info()) [18:01:18.561] } [18:01:18.561] ...future.conditions[[length(...future.conditions) + [18:01:18.561] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:18.561] cond$call), session = sessionInformation(), [18:01:18.561] timestamp = base::Sys.time(), signaled = 0L) [18:01:18.561] signalCondition(cond) [18:01:18.561] } [18:01:18.561] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:18.561] "immediateCondition"))) { [18:01:18.561] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:18.561] ...future.conditions[[length(...future.conditions) + [18:01:18.561] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:18.561] if (TRUE && !signal) { [18:01:18.561] muffleCondition <- function (cond, pattern = "^muffle") [18:01:18.561] { [18:01:18.561] inherits <- base::inherits [18:01:18.561] invokeRestart <- base::invokeRestart [18:01:18.561] is.null <- base::is.null [18:01:18.561] muffled <- FALSE [18:01:18.561] if (inherits(cond, "message")) { [18:01:18.561] muffled <- grepl(pattern, "muffleMessage") [18:01:18.561] if (muffled) [18:01:18.561] invokeRestart("muffleMessage") [18:01:18.561] } [18:01:18.561] else if (inherits(cond, "warning")) { [18:01:18.561] muffled <- grepl(pattern, "muffleWarning") [18:01:18.561] if (muffled) [18:01:18.561] invokeRestart("muffleWarning") [18:01:18.561] } [18:01:18.561] else if (inherits(cond, "condition")) { [18:01:18.561] if (!is.null(pattern)) { [18:01:18.561] computeRestarts <- base::computeRestarts [18:01:18.561] grepl <- base::grepl [18:01:18.561] restarts <- computeRestarts(cond) [18:01:18.561] for (restart in restarts) { [18:01:18.561] name <- restart$name [18:01:18.561] if (is.null(name)) [18:01:18.561] next [18:01:18.561] if (!grepl(pattern, name)) [18:01:18.561] next [18:01:18.561] invokeRestart(restart) [18:01:18.561] muffled <- TRUE [18:01:18.561] break [18:01:18.561] } [18:01:18.561] } [18:01:18.561] } [18:01:18.561] invisible(muffled) [18:01:18.561] } [18:01:18.561] muffleCondition(cond, pattern = "^muffle") [18:01:18.561] } [18:01:18.561] } [18:01:18.561] else { [18:01:18.561] if (TRUE) { [18:01:18.561] muffleCondition <- function (cond, pattern = "^muffle") [18:01:18.561] { [18:01:18.561] inherits <- base::inherits [18:01:18.561] invokeRestart <- base::invokeRestart [18:01:18.561] is.null <- base::is.null [18:01:18.561] muffled <- FALSE [18:01:18.561] if (inherits(cond, "message")) { [18:01:18.561] muffled <- grepl(pattern, "muffleMessage") [18:01:18.561] if (muffled) [18:01:18.561] invokeRestart("muffleMessage") [18:01:18.561] } [18:01:18.561] else if (inherits(cond, "warning")) { [18:01:18.561] muffled <- grepl(pattern, "muffleWarning") [18:01:18.561] if (muffled) [18:01:18.561] invokeRestart("muffleWarning") [18:01:18.561] } [18:01:18.561] else if (inherits(cond, "condition")) { [18:01:18.561] if (!is.null(pattern)) { [18:01:18.561] computeRestarts <- base::computeRestarts [18:01:18.561] grepl <- base::grepl [18:01:18.561] restarts <- computeRestarts(cond) [18:01:18.561] for (restart in restarts) { [18:01:18.561] name <- restart$name [18:01:18.561] if (is.null(name)) [18:01:18.561] next [18:01:18.561] if (!grepl(pattern, name)) [18:01:18.561] next [18:01:18.561] invokeRestart(restart) [18:01:18.561] muffled <- TRUE [18:01:18.561] break [18:01:18.561] } [18:01:18.561] } [18:01:18.561] } [18:01:18.561] invisible(muffled) [18:01:18.561] } [18:01:18.561] muffleCondition(cond, pattern = "^muffle") [18:01:18.561] } [18:01:18.561] } [18:01:18.561] } [18:01:18.561] })) [18:01:18.561] }, error = function(ex) { [18:01:18.561] base::structure(base::list(value = NULL, visible = NULL, [18:01:18.561] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:18.561] ...future.rng), started = ...future.startTime, [18:01:18.561] finished = Sys.time(), session_uuid = NA_character_, [18:01:18.561] version = "1.8"), class = "FutureResult") [18:01:18.561] }, finally = { [18:01:18.561] if (!identical(...future.workdir, getwd())) [18:01:18.561] setwd(...future.workdir) [18:01:18.561] { [18:01:18.561] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:18.561] ...future.oldOptions$nwarnings <- NULL [18:01:18.561] } [18:01:18.561] base::options(...future.oldOptions) [18:01:18.561] if (.Platform$OS.type == "windows") { [18:01:18.561] old_names <- names(...future.oldEnvVars) [18:01:18.561] envs <- base::Sys.getenv() [18:01:18.561] names <- names(envs) [18:01:18.561] common <- intersect(names, old_names) [18:01:18.561] added <- setdiff(names, old_names) [18:01:18.561] removed <- setdiff(old_names, names) [18:01:18.561] changed <- common[...future.oldEnvVars[common] != [18:01:18.561] envs[common]] [18:01:18.561] NAMES <- toupper(changed) [18:01:18.561] args <- list() [18:01:18.561] for (kk in seq_along(NAMES)) { [18:01:18.561] name <- changed[[kk]] [18:01:18.561] NAME <- NAMES[[kk]] [18:01:18.561] if (name != NAME && is.element(NAME, old_names)) [18:01:18.561] next [18:01:18.561] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:18.561] } [18:01:18.561] NAMES <- toupper(added) [18:01:18.561] for (kk in seq_along(NAMES)) { [18:01:18.561] name <- added[[kk]] [18:01:18.561] NAME <- NAMES[[kk]] [18:01:18.561] if (name != NAME && is.element(NAME, old_names)) [18:01:18.561] next [18:01:18.561] args[[name]] <- "" [18:01:18.561] } [18:01:18.561] NAMES <- toupper(removed) [18:01:18.561] for (kk in seq_along(NAMES)) { [18:01:18.561] name <- removed[[kk]] [18:01:18.561] NAME <- NAMES[[kk]] [18:01:18.561] if (name != NAME && is.element(NAME, old_names)) [18:01:18.561] next [18:01:18.561] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:18.561] } [18:01:18.561] if (length(args) > 0) [18:01:18.561] base::do.call(base::Sys.setenv, args = args) [18:01:18.561] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:18.561] } [18:01:18.561] else { [18:01:18.561] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:18.561] } [18:01:18.561] { [18:01:18.561] if (base::length(...future.futureOptionsAdded) > [18:01:18.561] 0L) { [18:01:18.561] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:18.561] base::names(opts) <- ...future.futureOptionsAdded [18:01:18.561] base::options(opts) [18:01:18.561] } [18:01:18.561] { [18:01:18.561] { [18:01:18.561] NULL [18:01:18.561] RNGkind("Mersenne-Twister") [18:01:18.561] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:18.561] inherits = FALSE) [18:01:18.561] } [18:01:18.561] options(future.plan = NULL) [18:01:18.561] if (is.na(NA_character_)) [18:01:18.561] Sys.unsetenv("R_FUTURE_PLAN") [18:01:18.561] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:18.561] future::plan(list(function (..., envir = parent.frame()) [18:01:18.561] { [18:01:18.561] future <- SequentialFuture(..., envir = envir) [18:01:18.561] if (!future$lazy) [18:01:18.561] future <- run(future) [18:01:18.561] invisible(future) [18:01:18.561] }), .cleanup = FALSE, .init = FALSE) [18:01:18.561] } [18:01:18.561] } [18:01:18.561] } [18:01:18.561] }) [18:01:18.561] if (TRUE) { [18:01:18.561] base::sink(type = "output", split = FALSE) [18:01:18.561] if (TRUE) { [18:01:18.561] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:18.561] } [18:01:18.561] else { [18:01:18.561] ...future.result["stdout"] <- base::list(NULL) [18:01:18.561] } [18:01:18.561] base::close(...future.stdout) [18:01:18.561] ...future.stdout <- NULL [18:01:18.561] } [18:01:18.561] ...future.result$conditions <- ...future.conditions [18:01:18.561] ...future.result$finished <- base::Sys.time() [18:01:18.561] ...future.result [18:01:18.561] } [18:01:18.565] assign_globals() ... [18:01:18.565] List of 4 [18:01:18.565] $ ii : int 2 [18:01:18.565] $ n : int 4 [18:01:18.565] $ C : cplx [1:25, 1:25] -0.72-1.5i -0.72-1.44i -0.72-1.38i ... [18:01:18.565] ..- attr(*, "region")=List of 2 [18:01:18.565] .. ..$ xrange: num [1:2] -0.719 0.75 [18:01:18.565] .. ..$ yrange: num [1:2] -1.5 -0.0306 [18:01:18.565] ..- attr(*, "tile")= int [1:2] 1 2 [18:01:18.565] $ delay:function (counts) [18:01:18.565] ..- attr(*, "srcref")= 'srcref' int [1:8] 41 12 41 30 12 30 41 41 [18:01:18.565] .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' [18:01:18.565] - attr(*, "where")=List of 4 [18:01:18.565] ..$ ii : [18:01:18.565] ..$ n : [18:01:18.565] ..$ C : [18:01:18.565] ..$ delay: [18:01:18.565] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:18.565] - attr(*, "resolved")= logi FALSE [18:01:18.565] - attr(*, "total_size")= num 14584 [18:01:18.565] - attr(*, "already-done")= logi TRUE [18:01:18.575] - copied 'ii' to environment [18:01:18.575] - copied 'n' to environment [18:01:18.575] - copied 'C' to environment [18:01:18.575] - reassign environment for 'delay' [18:01:18.575] - copied 'delay' to environment [18:01:18.575] assign_globals() ... done [18:01:18.576] plan(): Setting new future strategy stack: [18:01:18.576] List of future strategies: [18:01:18.576] 1. sequential: [18:01:18.576] - args: function (..., envir = parent.frame()) [18:01:18.576] - tweaked: FALSE [18:01:18.576] - call: NULL [18:01:18.577] plan(): nbrOfWorkers() = 1 [18:01:18.595] plan(): Setting new future strategy stack: [18:01:18.595] List of future strategies: [18:01:18.595] 1. sequential: [18:01:18.595] - args: function (..., envir = parent.frame()) [18:01:18.595] - tweaked: FALSE [18:01:18.595] - call: plan(strategy) [18:01:18.596] plan(): nbrOfWorkers() = 1 [18:01:18.596] SequentialFuture started (and completed) [18:01:18.596] signalConditions() ... [18:01:18.596] - include = 'immediateCondition' [18:01:18.596] - exclude = [18:01:18.597] - resignal = FALSE [18:01:18.597] - Number of conditions: 2 [18:01:18.597] signalConditions() ... done [18:01:18.597] - Launch lazy future ... done [18:01:18.597] run() for 'SequentialFuture' ... done [18:01:18.598] - run() ... done [18:01:18.598] - resolved() ... [18:01:18.598] resolved() for 'SequentialFuture' ... [18:01:18.598] - state: 'finished' [18:01:18.598] - run: TRUE [18:01:18.598] - result: 'FutureResult' [18:01:18.599] resolved() for 'SequentialFuture' ... done [18:01:18.599] - resolved: TRUE [18:01:18.599] - resolved() ... done [18:01:18.599] resolved() for 'SequentialFuture' ... done Plotting tile #2 of 4 ... [18:01:18.599] signalConditions() ... [18:01:18.600] - include = 'immediateCondition' [18:01:18.600] - exclude = [18:01:18.600] - resignal = FALSE [18:01:18.600] - Number of conditions: 2 [18:01:18.600] signalConditions() ... done [18:01:18.600] Future state: 'finished' [18:01:18.601] signalConditions() ... [18:01:18.601] - include = 'condition' [18:01:18.601] - exclude = 'immediateCondition' [18:01:18.601] - resignal = TRUE [18:01:18.601] - Number of conditions: 2 [18:01:18.602] - Condition #1: 'simpleMessage', 'message', 'condition' Calculating tile #2 of 4 ...[18:01:18.602] - Condition #2: 'simpleMessage', 'message', 'condition' done [18:01:18.602] signalConditions() ... done [18:01:18.603] resolved() for 'Future' ... [18:01:18.603] - state: 'created' [18:01:18.603] - run: TRUE [18:01:18.603] - run() ... [18:01:18.603] run() for 'Future' ... [18:01:18.604] - state: 'created' [18:01:18.604] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:18.604] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:18.604] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:18.605] - Field: 'label' [18:01:18.605] - Field: 'local' [18:01:18.605] - Field: 'owner' [18:01:18.605] - Field: 'envir' [18:01:18.605] - Field: 'packages' [18:01:18.606] - Field: 'gc' [18:01:18.606] - Field: 'conditions' [18:01:18.606] - Field: 'expr' [18:01:18.606] - Field: 'uuid' [18:01:18.606] - Field: 'seed' [18:01:18.606] - Field: 'version' [18:01:18.607] - Field: 'result' [18:01:18.607] - Field: 'asynchronous' [18:01:18.607] - Field: 'calls' [18:01:18.607] - Field: 'globals' [18:01:18.607] - Field: 'stdout' [18:01:18.608] - Field: 'earlySignal' [18:01:18.608] - Field: 'lazy' [18:01:18.608] - Field: 'state' [18:01:18.608] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:18.608] - Launch lazy future ... [18:01:18.609] Packages needed by the future expression (n = 1): 'future' [18:01:18.609] Packages needed by future strategies (n = 0): [18:01:18.609] { [18:01:18.609] { [18:01:18.609] { [18:01:18.609] ...future.startTime <- base::Sys.time() [18:01:18.609] { [18:01:18.609] { [18:01:18.609] { [18:01:18.609] { [18:01:18.609] base::local({ [18:01:18.609] has_future <- base::requireNamespace("future", [18:01:18.609] quietly = TRUE) [18:01:18.609] if (has_future) { [18:01:18.609] ns <- base::getNamespace("future") [18:01:18.609] version <- ns[[".package"]][["version"]] [18:01:18.609] if (is.null(version)) [18:01:18.609] version <- utils::packageVersion("future") [18:01:18.609] } [18:01:18.609] else { [18:01:18.609] version <- NULL [18:01:18.609] } [18:01:18.609] if (!has_future || version < "1.8.0") { [18:01:18.609] info <- base::c(r_version = base::gsub("R version ", [18:01:18.609] "", base::R.version$version.string), [18:01:18.609] platform = base::sprintf("%s (%s-bit)", [18:01:18.609] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:18.609] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:18.609] "release", "version")], collapse = " "), [18:01:18.609] hostname = base::Sys.info()[["nodename"]]) [18:01:18.609] info <- base::sprintf("%s: %s", base::names(info), [18:01:18.609] info) [18:01:18.609] info <- base::paste(info, collapse = "; ") [18:01:18.609] if (!has_future) { [18:01:18.609] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:18.609] info) [18:01:18.609] } [18:01:18.609] else { [18:01:18.609] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:18.609] info, version) [18:01:18.609] } [18:01:18.609] base::stop(msg) [18:01:18.609] } [18:01:18.609] }) [18:01:18.609] } [18:01:18.609] base::local({ [18:01:18.609] for (pkg in "future") { [18:01:18.609] base::loadNamespace(pkg) [18:01:18.609] base::library(pkg, character.only = TRUE) [18:01:18.609] } [18:01:18.609] }) [18:01:18.609] } [18:01:18.609] options(future.plan = NULL) [18:01:18.609] Sys.unsetenv("R_FUTURE_PLAN") [18:01:18.609] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:18.609] } [18:01:18.609] ...future.workdir <- getwd() [18:01:18.609] } [18:01:18.609] ...future.oldOptions <- base::as.list(base::.Options) [18:01:18.609] ...future.oldEnvVars <- base::Sys.getenv() [18:01:18.609] } [18:01:18.609] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:01:18.609] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:18.609] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:01:18.609] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:01:18.609] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:18.609] future.stdout.windows.reencode = NULL, width = 80L) [18:01:18.609] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:18.609] base::names(...future.oldOptions)) [18:01:18.609] } [18:01:18.609] if (FALSE) { [18:01:18.609] } [18:01:18.609] else { [18:01:18.609] if (TRUE) { [18:01:18.609] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:18.609] open = "w") [18:01:18.609] } [18:01:18.609] else { [18:01:18.609] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:18.609] windows = "NUL", "/dev/null"), open = "w") [18:01:18.609] } [18:01:18.609] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:18.609] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:18.609] base::sink(type = "output", split = FALSE) [18:01:18.609] base::close(...future.stdout) [18:01:18.609] }, add = TRUE) [18:01:18.609] } [18:01:18.609] ...future.frame <- base::sys.nframe() [18:01:18.609] ...future.conditions <- base::list() [18:01:18.609] ...future.rng <- base::globalenv()$.Random.seed [18:01:18.609] if (FALSE) { [18:01:18.609] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:18.609] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:18.609] } [18:01:18.609] ...future.result <- base::tryCatch({ [18:01:18.609] base::withCallingHandlers({ [18:01:18.609] ...future.value <- base::withVisible(base::local({ [18:01:18.609] message(sprintf("Calculating tile #%d of %d ...", [18:01:18.609] ii, n), appendLF = FALSE) [18:01:18.609] fit <- mandelbrot(C) [18:01:18.609] delay(fit) [18:01:18.609] message(" done") [18:01:18.609] fit [18:01:18.609] })) [18:01:18.609] future::FutureResult(value = ...future.value$value, [18:01:18.609] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:18.609] ...future.rng), globalenv = if (FALSE) [18:01:18.609] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:18.609] ...future.globalenv.names)) [18:01:18.609] else NULL, started = ...future.startTime, version = "1.8") [18:01:18.609] }, condition = base::local({ [18:01:18.609] c <- base::c [18:01:18.609] inherits <- base::inherits [18:01:18.609] invokeRestart <- base::invokeRestart [18:01:18.609] length <- base::length [18:01:18.609] list <- base::list [18:01:18.609] seq.int <- base::seq.int [18:01:18.609] signalCondition <- base::signalCondition [18:01:18.609] sys.calls <- base::sys.calls [18:01:18.609] `[[` <- base::`[[` [18:01:18.609] `+` <- base::`+` [18:01:18.609] `<<-` <- base::`<<-` [18:01:18.609] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:18.609] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:18.609] 3L)] [18:01:18.609] } [18:01:18.609] function(cond) { [18:01:18.609] is_error <- inherits(cond, "error") [18:01:18.609] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:18.609] NULL) [18:01:18.609] if (is_error) { [18:01:18.609] sessionInformation <- function() { [18:01:18.609] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:18.609] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:18.609] search = base::search(), system = base::Sys.info()) [18:01:18.609] } [18:01:18.609] ...future.conditions[[length(...future.conditions) + [18:01:18.609] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:18.609] cond$call), session = sessionInformation(), [18:01:18.609] timestamp = base::Sys.time(), signaled = 0L) [18:01:18.609] signalCondition(cond) [18:01:18.609] } [18:01:18.609] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:18.609] "immediateCondition"))) { [18:01:18.609] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:18.609] ...future.conditions[[length(...future.conditions) + [18:01:18.609] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:18.609] if (TRUE && !signal) { [18:01:18.609] muffleCondition <- function (cond, pattern = "^muffle") [18:01:18.609] { [18:01:18.609] inherits <- base::inherits [18:01:18.609] invokeRestart <- base::invokeRestart [18:01:18.609] is.null <- base::is.null [18:01:18.609] muffled <- FALSE [18:01:18.609] if (inherits(cond, "message")) { [18:01:18.609] muffled <- grepl(pattern, "muffleMessage") [18:01:18.609] if (muffled) [18:01:18.609] invokeRestart("muffleMessage") [18:01:18.609] } [18:01:18.609] else if (inherits(cond, "warning")) { [18:01:18.609] muffled <- grepl(pattern, "muffleWarning") [18:01:18.609] if (muffled) [18:01:18.609] invokeRestart("muffleWarning") [18:01:18.609] } [18:01:18.609] else if (inherits(cond, "condition")) { [18:01:18.609] if (!is.null(pattern)) { [18:01:18.609] computeRestarts <- base::computeRestarts [18:01:18.609] grepl <- base::grepl [18:01:18.609] restarts <- computeRestarts(cond) [18:01:18.609] for (restart in restarts) { [18:01:18.609] name <- restart$name [18:01:18.609] if (is.null(name)) [18:01:18.609] next [18:01:18.609] if (!grepl(pattern, name)) [18:01:18.609] next [18:01:18.609] invokeRestart(restart) [18:01:18.609] muffled <- TRUE [18:01:18.609] break [18:01:18.609] } [18:01:18.609] } [18:01:18.609] } [18:01:18.609] invisible(muffled) [18:01:18.609] } [18:01:18.609] muffleCondition(cond, pattern = "^muffle") [18:01:18.609] } [18:01:18.609] } [18:01:18.609] else { [18:01:18.609] if (TRUE) { [18:01:18.609] muffleCondition <- function (cond, pattern = "^muffle") [18:01:18.609] { [18:01:18.609] inherits <- base::inherits [18:01:18.609] invokeRestart <- base::invokeRestart [18:01:18.609] is.null <- base::is.null [18:01:18.609] muffled <- FALSE [18:01:18.609] if (inherits(cond, "message")) { [18:01:18.609] muffled <- grepl(pattern, "muffleMessage") [18:01:18.609] if (muffled) [18:01:18.609] invokeRestart("muffleMessage") [18:01:18.609] } [18:01:18.609] else if (inherits(cond, "warning")) { [18:01:18.609] muffled <- grepl(pattern, "muffleWarning") [18:01:18.609] if (muffled) [18:01:18.609] invokeRestart("muffleWarning") [18:01:18.609] } [18:01:18.609] else if (inherits(cond, "condition")) { [18:01:18.609] if (!is.null(pattern)) { [18:01:18.609] computeRestarts <- base::computeRestarts [18:01:18.609] grepl <- base::grepl [18:01:18.609] restarts <- computeRestarts(cond) [18:01:18.609] for (restart in restarts) { [18:01:18.609] name <- restart$name [18:01:18.609] if (is.null(name)) [18:01:18.609] next [18:01:18.609] if (!grepl(pattern, name)) [18:01:18.609] next [18:01:18.609] invokeRestart(restart) [18:01:18.609] muffled <- TRUE [18:01:18.609] break [18:01:18.609] } [18:01:18.609] } [18:01:18.609] } [18:01:18.609] invisible(muffled) [18:01:18.609] } [18:01:18.609] muffleCondition(cond, pattern = "^muffle") [18:01:18.609] } [18:01:18.609] } [18:01:18.609] } [18:01:18.609] })) [18:01:18.609] }, error = function(ex) { [18:01:18.609] base::structure(base::list(value = NULL, visible = NULL, [18:01:18.609] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:18.609] ...future.rng), started = ...future.startTime, [18:01:18.609] finished = Sys.time(), session_uuid = NA_character_, [18:01:18.609] version = "1.8"), class = "FutureResult") [18:01:18.609] }, finally = { [18:01:18.609] if (!identical(...future.workdir, getwd())) [18:01:18.609] setwd(...future.workdir) [18:01:18.609] { [18:01:18.609] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:18.609] ...future.oldOptions$nwarnings <- NULL [18:01:18.609] } [18:01:18.609] base::options(...future.oldOptions) [18:01:18.609] if (.Platform$OS.type == "windows") { [18:01:18.609] old_names <- names(...future.oldEnvVars) [18:01:18.609] envs <- base::Sys.getenv() [18:01:18.609] names <- names(envs) [18:01:18.609] common <- intersect(names, old_names) [18:01:18.609] added <- setdiff(names, old_names) [18:01:18.609] removed <- setdiff(old_names, names) [18:01:18.609] changed <- common[...future.oldEnvVars[common] != [18:01:18.609] envs[common]] [18:01:18.609] NAMES <- toupper(changed) [18:01:18.609] args <- list() [18:01:18.609] for (kk in seq_along(NAMES)) { [18:01:18.609] name <- changed[[kk]] [18:01:18.609] NAME <- NAMES[[kk]] [18:01:18.609] if (name != NAME && is.element(NAME, old_names)) [18:01:18.609] next [18:01:18.609] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:18.609] } [18:01:18.609] NAMES <- toupper(added) [18:01:18.609] for (kk in seq_along(NAMES)) { [18:01:18.609] name <- added[[kk]] [18:01:18.609] NAME <- NAMES[[kk]] [18:01:18.609] if (name != NAME && is.element(NAME, old_names)) [18:01:18.609] next [18:01:18.609] args[[name]] <- "" [18:01:18.609] } [18:01:18.609] NAMES <- toupper(removed) [18:01:18.609] for (kk in seq_along(NAMES)) { [18:01:18.609] name <- removed[[kk]] [18:01:18.609] NAME <- NAMES[[kk]] [18:01:18.609] if (name != NAME && is.element(NAME, old_names)) [18:01:18.609] next [18:01:18.609] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:18.609] } [18:01:18.609] if (length(args) > 0) [18:01:18.609] base::do.call(base::Sys.setenv, args = args) [18:01:18.609] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:18.609] } [18:01:18.609] else { [18:01:18.609] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:18.609] } [18:01:18.609] { [18:01:18.609] if (base::length(...future.futureOptionsAdded) > [18:01:18.609] 0L) { [18:01:18.609] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:18.609] base::names(opts) <- ...future.futureOptionsAdded [18:01:18.609] base::options(opts) [18:01:18.609] } [18:01:18.609] { [18:01:18.609] { [18:01:18.609] NULL [18:01:18.609] RNGkind("Mersenne-Twister") [18:01:18.609] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:18.609] inherits = FALSE) [18:01:18.609] } [18:01:18.609] options(future.plan = NULL) [18:01:18.609] if (is.na(NA_character_)) [18:01:18.609] Sys.unsetenv("R_FUTURE_PLAN") [18:01:18.609] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:18.609] future::plan(list(function (..., envir = parent.frame()) [18:01:18.609] { [18:01:18.609] future <- SequentialFuture(..., envir = envir) [18:01:18.609] if (!future$lazy) [18:01:18.609] future <- run(future) [18:01:18.609] invisible(future) [18:01:18.609] }), .cleanup = FALSE, .init = FALSE) [18:01:18.609] } [18:01:18.609] } [18:01:18.609] } [18:01:18.609] }) [18:01:18.609] if (TRUE) { [18:01:18.609] base::sink(type = "output", split = FALSE) [18:01:18.609] if (TRUE) { [18:01:18.609] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:18.609] } [18:01:18.609] else { [18:01:18.609] ...future.result["stdout"] <- base::list(NULL) [18:01:18.609] } [18:01:18.609] base::close(...future.stdout) [18:01:18.609] ...future.stdout <- NULL [18:01:18.609] } [18:01:18.609] ...future.result$conditions <- ...future.conditions [18:01:18.609] ...future.result$finished <- base::Sys.time() [18:01:18.609] ...future.result [18:01:18.609] } [18:01:18.613] assign_globals() ... [18:01:18.614] List of 4 [18:01:18.614] $ ii : int 3 [18:01:18.614] $ n : int 4 [18:01:18.614] $ C : cplx [1:25, 1:25] -2.25+0.03i -2.25+0.09i -2.25+0.15i ... [18:01:18.614] ..- attr(*, "region")=List of 2 [18:01:18.614] .. ..$ xrange: num [1:2] -2.25 -0.781 [18:01:18.614] .. ..$ yrange: num [1:2] 0.0306 1.5 [18:01:18.614] ..- attr(*, "tile")= int [1:2] 2 1 [18:01:18.614] $ delay:function (counts) [18:01:18.614] ..- attr(*, "srcref")= 'srcref' int [1:8] 41 12 41 30 12 30 41 41 [18:01:18.614] .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' [18:01:18.614] - attr(*, "where")=List of 4 [18:01:18.614] ..$ ii : [18:01:18.614] ..$ n : [18:01:18.614] ..$ C : [18:01:18.614] ..$ delay: [18:01:18.614] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:18.614] - attr(*, "resolved")= logi FALSE [18:01:18.614] - attr(*, "total_size")= num 14584 [18:01:18.614] - attr(*, "already-done")= logi TRUE [18:01:18.621] - copied 'ii' to environment [18:01:18.621] - copied 'n' to environment [18:01:18.621] - copied 'C' to environment [18:01:18.621] - reassign environment for 'delay' [18:01:18.622] - copied 'delay' to environment [18:01:18.622] assign_globals() ... done [18:01:18.622] plan(): Setting new future strategy stack: [18:01:18.623] List of future strategies: [18:01:18.623] 1. sequential: [18:01:18.623] - args: function (..., envir = parent.frame()) [18:01:18.623] - tweaked: FALSE [18:01:18.623] - call: NULL [18:01:18.623] plan(): nbrOfWorkers() = 1 [18:01:18.643] plan(): Setting new future strategy stack: [18:01:18.643] List of future strategies: [18:01:18.643] 1. sequential: [18:01:18.643] - args: function (..., envir = parent.frame()) [18:01:18.643] - tweaked: FALSE [18:01:18.643] - call: plan(strategy) [18:01:18.643] plan(): nbrOfWorkers() = 1 [18:01:18.644] SequentialFuture started (and completed) [18:01:18.644] signalConditions() ... [18:01:18.644] - include = 'immediateCondition' [18:01:18.644] - exclude = [18:01:18.644] - resignal = FALSE [18:01:18.645] - Number of conditions: 2 [18:01:18.645] signalConditions() ... done [18:01:18.645] - Launch lazy future ... done [18:01:18.645] run() for 'SequentialFuture' ... done [18:01:18.645] - run() ... done [18:01:18.645] - resolved() ... [18:01:18.646] resolved() for 'SequentialFuture' ... [18:01:18.646] - state: 'finished' [18:01:18.646] - run: TRUE [18:01:18.646] - result: 'FutureResult' [18:01:18.646] resolved() for 'SequentialFuture' ... done [18:01:18.647] - resolved: TRUE [18:01:18.647] - resolved() ... done [18:01:18.647] resolved() for 'SequentialFuture' ... done Plotting tile #3 of 4 ... [18:01:18.647] signalConditions() ... [18:01:18.647] - include = 'immediateCondition' [18:01:18.647] - exclude = [18:01:18.648] - resignal = FALSE [18:01:18.648] - Number of conditions: 2 [18:01:18.648] signalConditions() ... done [18:01:18.648] Future state: 'finished' [18:01:18.649] signalConditions() ... [18:01:18.649] - include = 'condition' [18:01:18.649] - exclude = 'immediateCondition' [18:01:18.649] - resignal = TRUE [18:01:18.649] - Number of conditions: 2 [18:01:18.649] - Condition #1: 'simpleMessage', 'message', 'condition' Calculating tile #3 of 4 ...[18:01:18.650] - Condition #2: 'simpleMessage', 'message', 'condition' done [18:01:18.650] signalConditions() ... done [18:01:18.651] resolved() for 'Future' ... [18:01:18.651] - state: 'created' [18:01:18.651] - run: TRUE [18:01:18.651] - run() ... [18:01:18.651] run() for 'Future' ... [18:01:18.652] - state: 'created' [18:01:18.652] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:18.652] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:18.652] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:18.653] - Field: 'label' [18:01:18.653] - Field: 'local' [18:01:18.653] - Field: 'owner' [18:01:18.653] - Field: 'envir' [18:01:18.653] - Field: 'packages' [18:01:18.653] - Field: 'gc' [18:01:18.654] - Field: 'conditions' [18:01:18.654] - Field: 'expr' [18:01:18.654] - Field: 'uuid' [18:01:18.654] - Field: 'seed' [18:01:18.654] - Field: 'version' [18:01:18.655] - Field: 'result' [18:01:18.655] - Field: 'asynchronous' [18:01:18.655] - Field: 'calls' [18:01:18.655] - Field: 'globals' [18:01:18.655] - Field: 'stdout' [18:01:18.655] - Field: 'earlySignal' [18:01:18.656] - Field: 'lazy' [18:01:18.656] - Field: 'state' [18:01:18.656] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:18.656] - Launch lazy future ... [18:01:18.656] Packages needed by the future expression (n = 1): 'future' [18:01:18.657] Packages needed by future strategies (n = 0): [18:01:18.657] { [18:01:18.657] { [18:01:18.657] { [18:01:18.657] ...future.startTime <- base::Sys.time() [18:01:18.657] { [18:01:18.657] { [18:01:18.657] { [18:01:18.657] { [18:01:18.657] base::local({ [18:01:18.657] has_future <- base::requireNamespace("future", [18:01:18.657] quietly = TRUE) [18:01:18.657] if (has_future) { [18:01:18.657] ns <- base::getNamespace("future") [18:01:18.657] version <- ns[[".package"]][["version"]] [18:01:18.657] if (is.null(version)) [18:01:18.657] version <- utils::packageVersion("future") [18:01:18.657] } [18:01:18.657] else { [18:01:18.657] version <- NULL [18:01:18.657] } [18:01:18.657] if (!has_future || version < "1.8.0") { [18:01:18.657] info <- base::c(r_version = base::gsub("R version ", [18:01:18.657] "", base::R.version$version.string), [18:01:18.657] platform = base::sprintf("%s (%s-bit)", [18:01:18.657] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:18.657] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:18.657] "release", "version")], collapse = " "), [18:01:18.657] hostname = base::Sys.info()[["nodename"]]) [18:01:18.657] info <- base::sprintf("%s: %s", base::names(info), [18:01:18.657] info) [18:01:18.657] info <- base::paste(info, collapse = "; ") [18:01:18.657] if (!has_future) { [18:01:18.657] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:18.657] info) [18:01:18.657] } [18:01:18.657] else { [18:01:18.657] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:18.657] info, version) [18:01:18.657] } [18:01:18.657] base::stop(msg) [18:01:18.657] } [18:01:18.657] }) [18:01:18.657] } [18:01:18.657] base::local({ [18:01:18.657] for (pkg in "future") { [18:01:18.657] base::loadNamespace(pkg) [18:01:18.657] base::library(pkg, character.only = TRUE) [18:01:18.657] } [18:01:18.657] }) [18:01:18.657] } [18:01:18.657] options(future.plan = NULL) [18:01:18.657] Sys.unsetenv("R_FUTURE_PLAN") [18:01:18.657] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:18.657] } [18:01:18.657] ...future.workdir <- getwd() [18:01:18.657] } [18:01:18.657] ...future.oldOptions <- base::as.list(base::.Options) [18:01:18.657] ...future.oldEnvVars <- base::Sys.getenv() [18:01:18.657] } [18:01:18.657] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:01:18.657] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:18.657] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:01:18.657] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:01:18.657] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:18.657] future.stdout.windows.reencode = NULL, width = 80L) [18:01:18.657] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:18.657] base::names(...future.oldOptions)) [18:01:18.657] } [18:01:18.657] if (FALSE) { [18:01:18.657] } [18:01:18.657] else { [18:01:18.657] if (TRUE) { [18:01:18.657] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:18.657] open = "w") [18:01:18.657] } [18:01:18.657] else { [18:01:18.657] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:18.657] windows = "NUL", "/dev/null"), open = "w") [18:01:18.657] } [18:01:18.657] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:18.657] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:18.657] base::sink(type = "output", split = FALSE) [18:01:18.657] base::close(...future.stdout) [18:01:18.657] }, add = TRUE) [18:01:18.657] } [18:01:18.657] ...future.frame <- base::sys.nframe() [18:01:18.657] ...future.conditions <- base::list() [18:01:18.657] ...future.rng <- base::globalenv()$.Random.seed [18:01:18.657] if (FALSE) { [18:01:18.657] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:18.657] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:18.657] } [18:01:18.657] ...future.result <- base::tryCatch({ [18:01:18.657] base::withCallingHandlers({ [18:01:18.657] ...future.value <- base::withVisible(base::local({ [18:01:18.657] message(sprintf("Calculating tile #%d of %d ...", [18:01:18.657] ii, n), appendLF = FALSE) [18:01:18.657] fit <- mandelbrot(C) [18:01:18.657] delay(fit) [18:01:18.657] message(" done") [18:01:18.657] fit [18:01:18.657] })) [18:01:18.657] future::FutureResult(value = ...future.value$value, [18:01:18.657] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:18.657] ...future.rng), globalenv = if (FALSE) [18:01:18.657] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:18.657] ...future.globalenv.names)) [18:01:18.657] else NULL, started = ...future.startTime, version = "1.8") [18:01:18.657] }, condition = base::local({ [18:01:18.657] c <- base::c [18:01:18.657] inherits <- base::inherits [18:01:18.657] invokeRestart <- base::invokeRestart [18:01:18.657] length <- base::length [18:01:18.657] list <- base::list [18:01:18.657] seq.int <- base::seq.int [18:01:18.657] signalCondition <- base::signalCondition [18:01:18.657] sys.calls <- base::sys.calls [18:01:18.657] `[[` <- base::`[[` [18:01:18.657] `+` <- base::`+` [18:01:18.657] `<<-` <- base::`<<-` [18:01:18.657] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:18.657] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:18.657] 3L)] [18:01:18.657] } [18:01:18.657] function(cond) { [18:01:18.657] is_error <- inherits(cond, "error") [18:01:18.657] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:18.657] NULL) [18:01:18.657] if (is_error) { [18:01:18.657] sessionInformation <- function() { [18:01:18.657] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:18.657] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:18.657] search = base::search(), system = base::Sys.info()) [18:01:18.657] } [18:01:18.657] ...future.conditions[[length(...future.conditions) + [18:01:18.657] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:18.657] cond$call), session = sessionInformation(), [18:01:18.657] timestamp = base::Sys.time(), signaled = 0L) [18:01:18.657] signalCondition(cond) [18:01:18.657] } [18:01:18.657] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:18.657] "immediateCondition"))) { [18:01:18.657] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:18.657] ...future.conditions[[length(...future.conditions) + [18:01:18.657] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:18.657] if (TRUE && !signal) { [18:01:18.657] muffleCondition <- function (cond, pattern = "^muffle") [18:01:18.657] { [18:01:18.657] inherits <- base::inherits [18:01:18.657] invokeRestart <- base::invokeRestart [18:01:18.657] is.null <- base::is.null [18:01:18.657] muffled <- FALSE [18:01:18.657] if (inherits(cond, "message")) { [18:01:18.657] muffled <- grepl(pattern, "muffleMessage") [18:01:18.657] if (muffled) [18:01:18.657] invokeRestart("muffleMessage") [18:01:18.657] } [18:01:18.657] else if (inherits(cond, "warning")) { [18:01:18.657] muffled <- grepl(pattern, "muffleWarning") [18:01:18.657] if (muffled) [18:01:18.657] invokeRestart("muffleWarning") [18:01:18.657] } [18:01:18.657] else if (inherits(cond, "condition")) { [18:01:18.657] if (!is.null(pattern)) { [18:01:18.657] computeRestarts <- base::computeRestarts [18:01:18.657] grepl <- base::grepl [18:01:18.657] restarts <- computeRestarts(cond) [18:01:18.657] for (restart in restarts) { [18:01:18.657] name <- restart$name [18:01:18.657] if (is.null(name)) [18:01:18.657] next [18:01:18.657] if (!grepl(pattern, name)) [18:01:18.657] next [18:01:18.657] invokeRestart(restart) [18:01:18.657] muffled <- TRUE [18:01:18.657] break [18:01:18.657] } [18:01:18.657] } [18:01:18.657] } [18:01:18.657] invisible(muffled) [18:01:18.657] } [18:01:18.657] muffleCondition(cond, pattern = "^muffle") [18:01:18.657] } [18:01:18.657] } [18:01:18.657] else { [18:01:18.657] if (TRUE) { [18:01:18.657] muffleCondition <- function (cond, pattern = "^muffle") [18:01:18.657] { [18:01:18.657] inherits <- base::inherits [18:01:18.657] invokeRestart <- base::invokeRestart [18:01:18.657] is.null <- base::is.null [18:01:18.657] muffled <- FALSE [18:01:18.657] if (inherits(cond, "message")) { [18:01:18.657] muffled <- grepl(pattern, "muffleMessage") [18:01:18.657] if (muffled) [18:01:18.657] invokeRestart("muffleMessage") [18:01:18.657] } [18:01:18.657] else if (inherits(cond, "warning")) { [18:01:18.657] muffled <- grepl(pattern, "muffleWarning") [18:01:18.657] if (muffled) [18:01:18.657] invokeRestart("muffleWarning") [18:01:18.657] } [18:01:18.657] else if (inherits(cond, "condition")) { [18:01:18.657] if (!is.null(pattern)) { [18:01:18.657] computeRestarts <- base::computeRestarts [18:01:18.657] grepl <- base::grepl [18:01:18.657] restarts <- computeRestarts(cond) [18:01:18.657] for (restart in restarts) { [18:01:18.657] name <- restart$name [18:01:18.657] if (is.null(name)) [18:01:18.657] next [18:01:18.657] if (!grepl(pattern, name)) [18:01:18.657] next [18:01:18.657] invokeRestart(restart) [18:01:18.657] muffled <- TRUE [18:01:18.657] break [18:01:18.657] } [18:01:18.657] } [18:01:18.657] } [18:01:18.657] invisible(muffled) [18:01:18.657] } [18:01:18.657] muffleCondition(cond, pattern = "^muffle") [18:01:18.657] } [18:01:18.657] } [18:01:18.657] } [18:01:18.657] })) [18:01:18.657] }, error = function(ex) { [18:01:18.657] base::structure(base::list(value = NULL, visible = NULL, [18:01:18.657] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:18.657] ...future.rng), started = ...future.startTime, [18:01:18.657] finished = Sys.time(), session_uuid = NA_character_, [18:01:18.657] version = "1.8"), class = "FutureResult") [18:01:18.657] }, finally = { [18:01:18.657] if (!identical(...future.workdir, getwd())) [18:01:18.657] setwd(...future.workdir) [18:01:18.657] { [18:01:18.657] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:18.657] ...future.oldOptions$nwarnings <- NULL [18:01:18.657] } [18:01:18.657] base::options(...future.oldOptions) [18:01:18.657] if (.Platform$OS.type == "windows") { [18:01:18.657] old_names <- names(...future.oldEnvVars) [18:01:18.657] envs <- base::Sys.getenv() [18:01:18.657] names <- names(envs) [18:01:18.657] common <- intersect(names, old_names) [18:01:18.657] added <- setdiff(names, old_names) [18:01:18.657] removed <- setdiff(old_names, names) [18:01:18.657] changed <- common[...future.oldEnvVars[common] != [18:01:18.657] envs[common]] [18:01:18.657] NAMES <- toupper(changed) [18:01:18.657] args <- list() [18:01:18.657] for (kk in seq_along(NAMES)) { [18:01:18.657] name <- changed[[kk]] [18:01:18.657] NAME <- NAMES[[kk]] [18:01:18.657] if (name != NAME && is.element(NAME, old_names)) [18:01:18.657] next [18:01:18.657] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:18.657] } [18:01:18.657] NAMES <- toupper(added) [18:01:18.657] for (kk in seq_along(NAMES)) { [18:01:18.657] name <- added[[kk]] [18:01:18.657] NAME <- NAMES[[kk]] [18:01:18.657] if (name != NAME && is.element(NAME, old_names)) [18:01:18.657] next [18:01:18.657] args[[name]] <- "" [18:01:18.657] } [18:01:18.657] NAMES <- toupper(removed) [18:01:18.657] for (kk in seq_along(NAMES)) { [18:01:18.657] name <- removed[[kk]] [18:01:18.657] NAME <- NAMES[[kk]] [18:01:18.657] if (name != NAME && is.element(NAME, old_names)) [18:01:18.657] next [18:01:18.657] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:18.657] } [18:01:18.657] if (length(args) > 0) [18:01:18.657] base::do.call(base::Sys.setenv, args = args) [18:01:18.657] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:18.657] } [18:01:18.657] else { [18:01:18.657] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:18.657] } [18:01:18.657] { [18:01:18.657] if (base::length(...future.futureOptionsAdded) > [18:01:18.657] 0L) { [18:01:18.657] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:18.657] base::names(opts) <- ...future.futureOptionsAdded [18:01:18.657] base::options(opts) [18:01:18.657] } [18:01:18.657] { [18:01:18.657] { [18:01:18.657] NULL [18:01:18.657] RNGkind("Mersenne-Twister") [18:01:18.657] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:18.657] inherits = FALSE) [18:01:18.657] } [18:01:18.657] options(future.plan = NULL) [18:01:18.657] if (is.na(NA_character_)) [18:01:18.657] Sys.unsetenv("R_FUTURE_PLAN") [18:01:18.657] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:18.657] future::plan(list(function (..., envir = parent.frame()) [18:01:18.657] { [18:01:18.657] future <- SequentialFuture(..., envir = envir) [18:01:18.657] if (!future$lazy) [18:01:18.657] future <- run(future) [18:01:18.657] invisible(future) [18:01:18.657] }), .cleanup = FALSE, .init = FALSE) [18:01:18.657] } [18:01:18.657] } [18:01:18.657] } [18:01:18.657] }) [18:01:18.657] if (TRUE) { [18:01:18.657] base::sink(type = "output", split = FALSE) [18:01:18.657] if (TRUE) { [18:01:18.657] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:18.657] } [18:01:18.657] else { [18:01:18.657] ...future.result["stdout"] <- base::list(NULL) [18:01:18.657] } [18:01:18.657] base::close(...future.stdout) [18:01:18.657] ...future.stdout <- NULL [18:01:18.657] } [18:01:18.657] ...future.result$conditions <- ...future.conditions [18:01:18.657] ...future.result$finished <- base::Sys.time() [18:01:18.657] ...future.result [18:01:18.657] } [18:01:18.661] assign_globals() ... [18:01:18.661] List of 4 [18:01:18.661] $ ii : int 4 [18:01:18.661] $ n : int 4 [18:01:18.661] $ C : cplx [1:25, 1:25] -0.719+0.031i -0.719+0.092i -0.719+0.153i ... [18:01:18.661] ..- attr(*, "region")=List of 2 [18:01:18.661] .. ..$ xrange: num [1:2] -0.719 0.75 [18:01:18.661] .. ..$ yrange: num [1:2] 0.0306 1.5 [18:01:18.661] ..- attr(*, "tile")= int [1:2] 2 2 [18:01:18.661] $ delay:function (counts) [18:01:18.661] ..- attr(*, "srcref")= 'srcref' int [1:8] 41 12 41 30 12 30 41 41 [18:01:18.661] .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' [18:01:18.661] - attr(*, "where")=List of 4 [18:01:18.661] ..$ ii : [18:01:18.661] ..$ n : [18:01:18.661] ..$ C : [18:01:18.661] ..$ delay: [18:01:18.661] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:18.661] - attr(*, "resolved")= logi FALSE [18:01:18.661] - attr(*, "total_size")= num 14584 [18:01:18.661] - attr(*, "already-done")= logi TRUE [18:01:18.669] - copied 'ii' to environment [18:01:18.669] - copied 'n' to environment [18:01:18.669] - copied 'C' to environment [18:01:18.669] - reassign environment for 'delay' [18:01:18.669] - copied 'delay' to environment [18:01:18.670] assign_globals() ... done [18:01:18.670] plan(): Setting new future strategy stack: [18:01:18.670] List of future strategies: [18:01:18.670] 1. sequential: [18:01:18.670] - args: function (..., envir = parent.frame()) [18:01:18.670] - tweaked: FALSE [18:01:18.670] - call: NULL [18:01:18.671] plan(): nbrOfWorkers() = 1 [18:01:18.689] plan(): Setting new future strategy stack: [18:01:18.689] List of future strategies: [18:01:18.689] 1. sequential: [18:01:18.689] - args: function (..., envir = parent.frame()) [18:01:18.689] - tweaked: FALSE [18:01:18.689] - call: plan(strategy) [18:01:18.690] plan(): nbrOfWorkers() = 1 [18:01:18.690] SequentialFuture started (and completed) [18:01:18.690] signalConditions() ... [18:01:18.690] - include = 'immediateCondition' [18:01:18.691] - exclude = [18:01:18.691] - resignal = FALSE [18:01:18.691] - Number of conditions: 2 [18:01:18.691] signalConditions() ... done [18:01:18.691] - Launch lazy future ... done [18:01:18.691] run() for 'SequentialFuture' ... done [18:01:18.692] - run() ... done [18:01:18.692] - resolved() ... [18:01:18.692] resolved() for 'SequentialFuture' ... [18:01:18.692] - state: 'finished' [18:01:18.692] - run: TRUE [18:01:18.692] - result: 'FutureResult' [18:01:18.693] resolved() for 'SequentialFuture' ... done [18:01:18.693] - resolved: TRUE [18:01:18.693] - resolved() ... done [18:01:18.693] resolved() for 'SequentialFuture' ... done Plotting tile #4 of 4 ... [18:01:18.693] signalConditions() ... [18:01:18.694] - include = 'immediateCondition' [18:01:18.694] - exclude = [18:01:18.694] - resignal = FALSE [18:01:18.694] - Number of conditions: 2 [18:01:18.694] signalConditions() ... done [18:01:18.694] Future state: 'finished' [18:01:18.695] signalConditions() ... [18:01:18.695] - include = 'condition' [18:01:18.695] - exclude = 'immediateCondition' [18:01:18.695] - resignal = TRUE [18:01:18.695] - Number of conditions: 2 [18:01:18.696] - Condition #1: 'simpleMessage', 'message', 'condition' Calculating tile #4 of 4 ...[18:01:18.696] - Condition #2: 'simpleMessage', 'message', 'condition' done [18:01:18.696] 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') ... [18:01:18.704] plan(): Setting new future strategy stack: [18:01:18.704] List of future strategies: [18:01:18.704] 1. multisession: [18:01:18.704] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [18:01:18.704] - tweaked: FALSE [18:01:18.704] - call: plan(strategy) [18:01:18.704] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [18:01:18.707] multisession: [18:01:18.707] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [18:01:18.707] - tweaked: FALSE [18:01:18.707] - call: plan(strategy) [18:01:18.712] getGlobalsAndPackages() ... [18:01:18.712] Not searching for globals [18:01:18.712] - globals: [0] [18:01:18.712] getGlobalsAndPackages() ... DONE [18:01:18.713] [local output] makeClusterPSOCK() ... [18:01:18.754] [local output] Workers: [n = 2] 'localhost', 'localhost' [18:01:18.761] [local output] Base port: 27759 [18:01:18.762] [local output] Getting setup options for 2 cluster nodes ... [18:01:18.762] [local output] - Node 1 of 2 ... [18:01:18.762] [local output] localMachine=TRUE => revtunnel=FALSE [18:01:18.764] Testing if worker's PID can be inferred: '"D:/RCompile/recent/R/bin/x64/Rscript" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpCoYIER/worker.rank=1.parallelly.parent=142136.22b3813afaa9.pid\")), silent = TRUE)" -e "file.exists(\"D:/temp/RtmpCoYIER/worker.rank=1.parallelly.parent=142136.22b3813afaa9.pid\")"' [18:01:19.210] - Possible to infer worker's PID: TRUE [18:01:19.211] [local output] Rscript port: 27759 [18:01:19.211] [local output] - Node 2 of 2 ... [18:01:19.212] [local output] localMachine=TRUE => revtunnel=FALSE [18:01:19.213] [local output] Rscript port: 27759 [18:01:19.213] [local output] Getting setup options for 2 cluster nodes ... done [18:01:19.214] [local output] - Parallel setup requested for some PSOCK nodes [18:01:19.214] [local output] Setting up PSOCK nodes in parallel [18:01:19.215] List of 36 [18:01:19.215] $ worker : chr "localhost" [18:01:19.215] ..- attr(*, "localhost")= logi TRUE [18:01:19.215] $ master : chr "localhost" [18:01:19.215] $ port : int 27759 [18:01:19.215] $ connectTimeout : num 120 [18:01:19.215] $ timeout : num 120 [18:01:19.215] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [18:01:19.215] $ homogeneous : logi TRUE [18:01:19.215] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=demo.R:142136:CRANWIN3:CRAN\" -e"| __truncated__ [18:01:19.215] $ rscript_envs : NULL [18:01:19.215] $ rscript_libs : chr [1:2] "D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c" "D:/RCompile/recent/R/library" [18:01:19.215] $ rscript_startup : NULL [18:01:19.215] $ rscript_sh : chr "cmd" [18:01:19.215] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [18:01:19.215] $ methods : logi TRUE [18:01:19.215] $ socketOptions : chr "no-delay" [18:01:19.215] $ useXDR : logi FALSE [18:01:19.215] $ outfile : chr "/dev/null" [18:01:19.215] $ renice : int NA [18:01:19.215] $ rshcmd : NULL [18:01:19.215] $ user : chr(0) [18:01:19.215] $ revtunnel : logi FALSE [18:01:19.215] $ rshlogfile : NULL [18:01:19.215] $ rshopts : chr(0) [18:01:19.215] $ rank : int 1 [18:01:19.215] $ manual : logi FALSE [18:01:19.215] $ dryrun : logi FALSE [18:01:19.215] $ quiet : logi FALSE [18:01:19.215] $ setup_strategy : chr "parallel" [18:01:19.215] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [18:01:19.215] $ pidfile : chr "D:/temp/RtmpCoYIER/worker.rank=1.parallelly.parent=142136.22b3813afaa9.pid" [18:01:19.215] $ rshcmd_label : NULL [18:01:19.215] $ rsh_call : NULL [18:01:19.215] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [18:01:19.215] $ localMachine : logi TRUE [18:01:19.215] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [18:01:19.215] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [18:01:19.215] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [18:01:19.215] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [18:01:19.215] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [18:01:19.215] "cmd", "sh"), default_packages = c("datasets", "utils", "grDevices", [18:01:19.215] "graphics", "stats", if (methods) "methods"), methods = TRUE, socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [18:01:19.215] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [18:01:19.215] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [18:01:19.215] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [18:01:19.215] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [18:01:19.215] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [18:01:19.215] "parallel"), action = c("launch", "options"), verbose = FALSE) [18:01:19.215] $ arguments :List of 28 [18:01:19.215] ..$ worker : chr "localhost" [18:01:19.215] ..$ master : NULL [18:01:19.215] ..$ port : int 27759 [18:01:19.215] ..$ connectTimeout : num 120 [18:01:19.215] ..$ timeout : num 120 [18:01:19.215] ..$ rscript : NULL [18:01:19.215] ..$ homogeneous : NULL [18:01:19.215] ..$ rscript_args : NULL [18:01:19.215] ..$ rscript_envs : NULL [18:01:19.215] ..$ rscript_libs : chr [1:2] "D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c" "D:/RCompile/recent/R/library" [18:01:19.215] ..$ rscript_startup : NULL [18:01:19.215] ..$ rscript_sh : chr [1:3] "auto" "cmd" "sh" [18:01:19.215] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [18:01:19.215] ..$ methods : logi TRUE [18:01:19.215] ..$ socketOptions : chr "no-delay" [18:01:19.215] ..$ useXDR : logi FALSE [18:01:19.215] ..$ outfile : chr "/dev/null" [18:01:19.215] ..$ renice : int NA [18:01:19.215] ..$ rshcmd : NULL [18:01:19.215] ..$ user : NULL [18:01:19.215] ..$ revtunnel : logi NA [18:01:19.215] ..$ rshlogfile : NULL [18:01:19.215] ..$ rshopts : NULL [18:01:19.215] ..$ rank : int 1 [18:01:19.215] ..$ manual : logi FALSE [18:01:19.215] ..$ dryrun : logi FALSE [18:01:19.215] ..$ quiet : logi FALSE [18:01:19.215] ..$ setup_strategy : chr "parallel" [18:01:19.215] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [18:01:19.236] [local output] System call to launch all workers: [18:01:19.236] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=demo.R:142136:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpCoYIER/worker.rank=1.parallelly.parent=142136.22b3813afaa9.pid\")), silent = TRUE)" -e "options(socketOptions = \"no-delay\")" -e ".libPaths(c(\"D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c\",\"D:/RCompile/recent/R/library\"))" -e "workRSOCK <- tryCatch(parallel:::.workRSOCK, error=function(e) parallel:::.slaveRSOCK); workRSOCK()" MASTER=localhost PORT=27759 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [18:01:19.236] [local output] Starting PSOCK main server [18:01:19.244] [local output] Workers launched [18:01:19.244] [local output] Waiting for workers to connect back [18:01:19.244] - [local output] 0 workers out of 2 ready [18:01:19.415] - [local output] 0 workers out of 2 ready [18:01:19.415] - [local output] 1 workers out of 2 ready [18:01:19.416] - [local output] 2 workers out of 2 ready [18:01:19.416] [local output] Launching of workers completed [18:01:19.416] [local output] Collecting session information from workers [18:01:19.417] [local output] - Worker #1 of 2 [18:01:19.418] [local output] - Worker #2 of 2 [18:01:19.418] [local output] makeClusterPSOCK() ... done [18:01:19.430] Packages needed by the future expression (n = 0): [18:01:19.430] Packages needed by future strategies (n = 0): [18:01:19.431] { [18:01:19.431] { [18:01:19.431] { [18:01:19.431] ...future.startTime <- base::Sys.time() [18:01:19.431] { [18:01:19.431] { [18:01:19.431] { [18:01:19.431] { [18:01:19.431] base::local({ [18:01:19.431] has_future <- base::requireNamespace("future", [18:01:19.431] quietly = TRUE) [18:01:19.431] if (has_future) { [18:01:19.431] ns <- base::getNamespace("future") [18:01:19.431] version <- ns[[".package"]][["version"]] [18:01:19.431] if (is.null(version)) [18:01:19.431] version <- utils::packageVersion("future") [18:01:19.431] } [18:01:19.431] else { [18:01:19.431] version <- NULL [18:01:19.431] } [18:01:19.431] if (!has_future || version < "1.8.0") { [18:01:19.431] info <- base::c(r_version = base::gsub("R version ", [18:01:19.431] "", base::R.version$version.string), [18:01:19.431] platform = base::sprintf("%s (%s-bit)", [18:01:19.431] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:19.431] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:19.431] "release", "version")], collapse = " "), [18:01:19.431] hostname = base::Sys.info()[["nodename"]]) [18:01:19.431] info <- base::sprintf("%s: %s", base::names(info), [18:01:19.431] info) [18:01:19.431] info <- base::paste(info, collapse = "; ") [18:01:19.431] if (!has_future) { [18:01:19.431] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:19.431] info) [18:01:19.431] } [18:01:19.431] else { [18:01:19.431] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:19.431] info, version) [18:01:19.431] } [18:01:19.431] base::stop(msg) [18:01:19.431] } [18:01:19.431] }) [18:01:19.431] } [18:01:19.431] ...future.mc.cores.old <- base::getOption("mc.cores") [18:01:19.431] base::options(mc.cores = 1L) [18:01:19.431] } [18:01:19.431] options(future.plan = NULL) [18:01:19.431] Sys.unsetenv("R_FUTURE_PLAN") [18:01:19.431] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:19.431] } [18:01:19.431] ...future.workdir <- getwd() [18:01:19.431] } [18:01:19.431] ...future.oldOptions <- base::as.list(base::.Options) [18:01:19.431] ...future.oldEnvVars <- base::Sys.getenv() [18:01:19.431] } [18:01:19.431] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:01:19.431] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:19.431] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:01:19.431] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:01:19.431] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:19.431] future.stdout.windows.reencode = NULL, width = 80L) [18:01:19.431] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:19.431] base::names(...future.oldOptions)) [18:01:19.431] } [18:01:19.431] if (FALSE) { [18:01:19.431] } [18:01:19.431] else { [18:01:19.431] if (TRUE) { [18:01:19.431] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:19.431] open = "w") [18:01:19.431] } [18:01:19.431] else { [18:01:19.431] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:19.431] windows = "NUL", "/dev/null"), open = "w") [18:01:19.431] } [18:01:19.431] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:19.431] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:19.431] base::sink(type = "output", split = FALSE) [18:01:19.431] base::close(...future.stdout) [18:01:19.431] }, add = TRUE) [18:01:19.431] } [18:01:19.431] ...future.frame <- base::sys.nframe() [18:01:19.431] ...future.conditions <- base::list() [18:01:19.431] ...future.rng <- base::globalenv()$.Random.seed [18:01:19.431] if (FALSE) { [18:01:19.431] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:19.431] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:19.431] } [18:01:19.431] ...future.result <- base::tryCatch({ [18:01:19.431] base::withCallingHandlers({ [18:01:19.431] ...future.value <- base::withVisible(base::local({ [18:01:19.431] ...future.makeSendCondition <- local({ [18:01:19.431] sendCondition <- NULL [18:01:19.431] function(frame = 1L) { [18:01:19.431] if (is.function(sendCondition)) [18:01:19.431] return(sendCondition) [18:01:19.431] ns <- getNamespace("parallel") [18:01:19.431] if (exists("sendData", mode = "function", [18:01:19.431] envir = ns)) { [18:01:19.431] parallel_sendData <- get("sendData", mode = "function", [18:01:19.431] envir = ns) [18:01:19.431] envir <- sys.frame(frame) [18:01:19.431] master <- NULL [18:01:19.431] while (!identical(envir, .GlobalEnv) && [18:01:19.431] !identical(envir, emptyenv())) { [18:01:19.431] if (exists("master", mode = "list", envir = envir, [18:01:19.431] inherits = FALSE)) { [18:01:19.431] master <- get("master", mode = "list", [18:01:19.431] envir = envir, inherits = FALSE) [18:01:19.431] if (inherits(master, c("SOCKnode", [18:01:19.431] "SOCK0node"))) { [18:01:19.431] sendCondition <<- function(cond) { [18:01:19.431] data <- list(type = "VALUE", value = cond, [18:01:19.431] success = TRUE) [18:01:19.431] parallel_sendData(master, data) [18:01:19.431] } [18:01:19.431] return(sendCondition) [18:01:19.431] } [18:01:19.431] } [18:01:19.431] frame <- frame + 1L [18:01:19.431] envir <- sys.frame(frame) [18:01:19.431] } [18:01:19.431] } [18:01:19.431] sendCondition <<- function(cond) NULL [18:01:19.431] } [18:01:19.431] }) [18:01:19.431] withCallingHandlers({ [18:01:19.431] NA [18:01:19.431] }, immediateCondition = function(cond) { [18:01:19.431] sendCondition <- ...future.makeSendCondition() [18:01:19.431] sendCondition(cond) [18:01:19.431] muffleCondition <- function (cond, pattern = "^muffle") [18:01:19.431] { [18:01:19.431] inherits <- base::inherits [18:01:19.431] invokeRestart <- base::invokeRestart [18:01:19.431] is.null <- base::is.null [18:01:19.431] muffled <- FALSE [18:01:19.431] if (inherits(cond, "message")) { [18:01:19.431] muffled <- grepl(pattern, "muffleMessage") [18:01:19.431] if (muffled) [18:01:19.431] invokeRestart("muffleMessage") [18:01:19.431] } [18:01:19.431] else if (inherits(cond, "warning")) { [18:01:19.431] muffled <- grepl(pattern, "muffleWarning") [18:01:19.431] if (muffled) [18:01:19.431] invokeRestart("muffleWarning") [18:01:19.431] } [18:01:19.431] else if (inherits(cond, "condition")) { [18:01:19.431] if (!is.null(pattern)) { [18:01:19.431] computeRestarts <- base::computeRestarts [18:01:19.431] grepl <- base::grepl [18:01:19.431] restarts <- computeRestarts(cond) [18:01:19.431] for (restart in restarts) { [18:01:19.431] name <- restart$name [18:01:19.431] if (is.null(name)) [18:01:19.431] next [18:01:19.431] if (!grepl(pattern, name)) [18:01:19.431] next [18:01:19.431] invokeRestart(restart) [18:01:19.431] muffled <- TRUE [18:01:19.431] break [18:01:19.431] } [18:01:19.431] } [18:01:19.431] } [18:01:19.431] invisible(muffled) [18:01:19.431] } [18:01:19.431] muffleCondition(cond) [18:01:19.431] }) [18:01:19.431] })) [18:01:19.431] future::FutureResult(value = ...future.value$value, [18:01:19.431] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:19.431] ...future.rng), globalenv = if (FALSE) [18:01:19.431] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:19.431] ...future.globalenv.names)) [18:01:19.431] else NULL, started = ...future.startTime, version = "1.8") [18:01:19.431] }, condition = base::local({ [18:01:19.431] c <- base::c [18:01:19.431] inherits <- base::inherits [18:01:19.431] invokeRestart <- base::invokeRestart [18:01:19.431] length <- base::length [18:01:19.431] list <- base::list [18:01:19.431] seq.int <- base::seq.int [18:01:19.431] signalCondition <- base::signalCondition [18:01:19.431] sys.calls <- base::sys.calls [18:01:19.431] `[[` <- base::`[[` [18:01:19.431] `+` <- base::`+` [18:01:19.431] `<<-` <- base::`<<-` [18:01:19.431] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:19.431] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:19.431] 3L)] [18:01:19.431] } [18:01:19.431] function(cond) { [18:01:19.431] is_error <- inherits(cond, "error") [18:01:19.431] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:19.431] NULL) [18:01:19.431] if (is_error) { [18:01:19.431] sessionInformation <- function() { [18:01:19.431] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:19.431] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:19.431] search = base::search(), system = base::Sys.info()) [18:01:19.431] } [18:01:19.431] ...future.conditions[[length(...future.conditions) + [18:01:19.431] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:19.431] cond$call), session = sessionInformation(), [18:01:19.431] timestamp = base::Sys.time(), signaled = 0L) [18:01:19.431] signalCondition(cond) [18:01:19.431] } [18:01:19.431] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:19.431] "immediateCondition"))) { [18:01:19.431] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:19.431] ...future.conditions[[length(...future.conditions) + [18:01:19.431] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:19.431] if (TRUE && !signal) { [18:01:19.431] muffleCondition <- function (cond, pattern = "^muffle") [18:01:19.431] { [18:01:19.431] inherits <- base::inherits [18:01:19.431] invokeRestart <- base::invokeRestart [18:01:19.431] is.null <- base::is.null [18:01:19.431] muffled <- FALSE [18:01:19.431] if (inherits(cond, "message")) { [18:01:19.431] muffled <- grepl(pattern, "muffleMessage") [18:01:19.431] if (muffled) [18:01:19.431] invokeRestart("muffleMessage") [18:01:19.431] } [18:01:19.431] else if (inherits(cond, "warning")) { [18:01:19.431] muffled <- grepl(pattern, "muffleWarning") [18:01:19.431] if (muffled) [18:01:19.431] invokeRestart("muffleWarning") [18:01:19.431] } [18:01:19.431] else if (inherits(cond, "condition")) { [18:01:19.431] if (!is.null(pattern)) { [18:01:19.431] computeRestarts <- base::computeRestarts [18:01:19.431] grepl <- base::grepl [18:01:19.431] restarts <- computeRestarts(cond) [18:01:19.431] for (restart in restarts) { [18:01:19.431] name <- restart$name [18:01:19.431] if (is.null(name)) [18:01:19.431] next [18:01:19.431] if (!grepl(pattern, name)) [18:01:19.431] next [18:01:19.431] invokeRestart(restart) [18:01:19.431] muffled <- TRUE [18:01:19.431] break [18:01:19.431] } [18:01:19.431] } [18:01:19.431] } [18:01:19.431] invisible(muffled) [18:01:19.431] } [18:01:19.431] muffleCondition(cond, pattern = "^muffle") [18:01:19.431] } [18:01:19.431] } [18:01:19.431] else { [18:01:19.431] if (TRUE) { [18:01:19.431] muffleCondition <- function (cond, pattern = "^muffle") [18:01:19.431] { [18:01:19.431] inherits <- base::inherits [18:01:19.431] invokeRestart <- base::invokeRestart [18:01:19.431] is.null <- base::is.null [18:01:19.431] muffled <- FALSE [18:01:19.431] if (inherits(cond, "message")) { [18:01:19.431] muffled <- grepl(pattern, "muffleMessage") [18:01:19.431] if (muffled) [18:01:19.431] invokeRestart("muffleMessage") [18:01:19.431] } [18:01:19.431] else if (inherits(cond, "warning")) { [18:01:19.431] muffled <- grepl(pattern, "muffleWarning") [18:01:19.431] if (muffled) [18:01:19.431] invokeRestart("muffleWarning") [18:01:19.431] } [18:01:19.431] else if (inherits(cond, "condition")) { [18:01:19.431] if (!is.null(pattern)) { [18:01:19.431] computeRestarts <- base::computeRestarts [18:01:19.431] grepl <- base::grepl [18:01:19.431] restarts <- computeRestarts(cond) [18:01:19.431] for (restart in restarts) { [18:01:19.431] name <- restart$name [18:01:19.431] if (is.null(name)) [18:01:19.431] next [18:01:19.431] if (!grepl(pattern, name)) [18:01:19.431] next [18:01:19.431] invokeRestart(restart) [18:01:19.431] muffled <- TRUE [18:01:19.431] break [18:01:19.431] } [18:01:19.431] } [18:01:19.431] } [18:01:19.431] invisible(muffled) [18:01:19.431] } [18:01:19.431] muffleCondition(cond, pattern = "^muffle") [18:01:19.431] } [18:01:19.431] } [18:01:19.431] } [18:01:19.431] })) [18:01:19.431] }, error = function(ex) { [18:01:19.431] base::structure(base::list(value = NULL, visible = NULL, [18:01:19.431] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:19.431] ...future.rng), started = ...future.startTime, [18:01:19.431] finished = Sys.time(), session_uuid = NA_character_, [18:01:19.431] version = "1.8"), class = "FutureResult") [18:01:19.431] }, finally = { [18:01:19.431] if (!identical(...future.workdir, getwd())) [18:01:19.431] setwd(...future.workdir) [18:01:19.431] { [18:01:19.431] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:19.431] ...future.oldOptions$nwarnings <- NULL [18:01:19.431] } [18:01:19.431] base::options(...future.oldOptions) [18:01:19.431] if (.Platform$OS.type == "windows") { [18:01:19.431] old_names <- names(...future.oldEnvVars) [18:01:19.431] envs <- base::Sys.getenv() [18:01:19.431] names <- names(envs) [18:01:19.431] common <- intersect(names, old_names) [18:01:19.431] added <- setdiff(names, old_names) [18:01:19.431] removed <- setdiff(old_names, names) [18:01:19.431] changed <- common[...future.oldEnvVars[common] != [18:01:19.431] envs[common]] [18:01:19.431] NAMES <- toupper(changed) [18:01:19.431] args <- list() [18:01:19.431] for (kk in seq_along(NAMES)) { [18:01:19.431] name <- changed[[kk]] [18:01:19.431] NAME <- NAMES[[kk]] [18:01:19.431] if (name != NAME && is.element(NAME, old_names)) [18:01:19.431] next [18:01:19.431] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:19.431] } [18:01:19.431] NAMES <- toupper(added) [18:01:19.431] for (kk in seq_along(NAMES)) { [18:01:19.431] name <- added[[kk]] [18:01:19.431] NAME <- NAMES[[kk]] [18:01:19.431] if (name != NAME && is.element(NAME, old_names)) [18:01:19.431] next [18:01:19.431] args[[name]] <- "" [18:01:19.431] } [18:01:19.431] NAMES <- toupper(removed) [18:01:19.431] for (kk in seq_along(NAMES)) { [18:01:19.431] name <- removed[[kk]] [18:01:19.431] NAME <- NAMES[[kk]] [18:01:19.431] if (name != NAME && is.element(NAME, old_names)) [18:01:19.431] next [18:01:19.431] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:19.431] } [18:01:19.431] if (length(args) > 0) [18:01:19.431] base::do.call(base::Sys.setenv, args = args) [18:01:19.431] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:19.431] } [18:01:19.431] else { [18:01:19.431] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:19.431] } [18:01:19.431] { [18:01:19.431] if (base::length(...future.futureOptionsAdded) > [18:01:19.431] 0L) { [18:01:19.431] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:19.431] base::names(opts) <- ...future.futureOptionsAdded [18:01:19.431] base::options(opts) [18:01:19.431] } [18:01:19.431] { [18:01:19.431] { [18:01:19.431] base::options(mc.cores = ...future.mc.cores.old) [18:01:19.431] NULL [18:01:19.431] } [18:01:19.431] options(future.plan = NULL) [18:01:19.431] if (is.na(NA_character_)) [18:01:19.431] Sys.unsetenv("R_FUTURE_PLAN") [18:01:19.431] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:19.431] future::plan(list(function (..., workers = availableCores(), [18:01:19.431] lazy = FALSE, rscript_libs = .libPaths(), [18:01:19.431] envir = parent.frame()) [18:01:19.431] { [18:01:19.431] if (is.function(workers)) [18:01:19.431] workers <- workers() [18:01:19.431] workers <- structure(as.integer(workers), [18:01:19.431] class = class(workers)) [18:01:19.431] stop_if_not(length(workers) == 1, is.finite(workers), [18:01:19.431] workers >= 1) [18:01:19.431] if (workers == 1L && !inherits(workers, "AsIs")) { [18:01:19.431] return(sequential(..., lazy = TRUE, envir = envir)) [18:01:19.431] } [18:01:19.431] future <- MultisessionFuture(..., workers = workers, [18:01:19.431] lazy = lazy, rscript_libs = rscript_libs, [18:01:19.431] envir = envir) [18:01:19.431] if (!future$lazy) [18:01:19.431] future <- run(future) [18:01:19.431] invisible(future) [18:01:19.431] }), .cleanup = FALSE, .init = FALSE) [18:01:19.431] } [18:01:19.431] } [18:01:19.431] } [18:01:19.431] }) [18:01:19.431] if (TRUE) { [18:01:19.431] base::sink(type = "output", split = FALSE) [18:01:19.431] if (TRUE) { [18:01:19.431] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:19.431] } [18:01:19.431] else { [18:01:19.431] ...future.result["stdout"] <- base::list(NULL) [18:01:19.431] } [18:01:19.431] base::close(...future.stdout) [18:01:19.431] ...future.stdout <- NULL [18:01:19.431] } [18:01:19.431] ...future.result$conditions <- ...future.conditions [18:01:19.431] ...future.result$finished <- base::Sys.time() [18:01:19.431] ...future.result [18:01:19.431] } [18:01:19.515] MultisessionFuture started [18:01:19.515] result() for ClusterFuture ... [18:01:19.516] receiveMessageFromWorker() for ClusterFuture ... [18:01:19.516] - Validating connection of MultisessionFuture [18:01:19.573] - received message: FutureResult [18:01:19.573] - Received FutureResult [18:01:19.576] - Erased future from FutureRegistry [18:01:19.576] result() for ClusterFuture ... [18:01:19.576] - result already collected: FutureResult [18:01:19.577] result() for ClusterFuture ... done [18:01:19.577] receiveMessageFromWorker() for ClusterFuture ... done [18:01:19.577] result() for ClusterFuture ... done [18:01:19.577] result() for ClusterFuture ... [18:01:19.577] - result already collected: FutureResult [18:01:19.577] result() for ClusterFuture ... done [18:01:19.578] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [18:01:19.580] 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[18:01:19.587] getGlobalsAndPackages() ... [18:01:19.587] Searching for globals... [18:01:19.591] - globals found: [9] '{', 'message', 'sprintf', 'ii', 'n', '<-', 'mandelbrot', 'C', 'delay' [18:01:19.591] Searching for globals ... DONE [18:01:19.592] Resolving globals: FALSE [18:01:19.592] The total size of the 4 globals is 14.24 KiB (14584 bytes) [18:01:19.593] 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 14.24 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). The three largest globals are 'C' (10.72 KiB of class 'complex'), 'delay' (3.41 KiB of class 'function') and 'ii' (56 bytes of class 'numeric') [18:01:19.593] - globals: [4] 'ii', 'n', 'C', 'delay' [18:01:19.593] - packages: [1] 'future' [18:01:19.594] getGlobalsAndPackages() ... DONE 2[18:01:19.598] getGlobalsAndPackages() ... [18:01:19.598] Searching for globals... [18:01:19.603] - globals found: [9] '{', 'message', 'sprintf', 'ii', 'n', '<-', 'mandelbrot', 'C', 'delay' [18:01:19.603] Searching for globals ... DONE [18:01:19.603] Resolving globals: FALSE [18:01:19.604] The total size of the 4 globals is 14.24 KiB (14584 bytes) [18:01:19.604] 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 14.24 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). The three largest globals are 'C' (10.72 KiB of class 'complex'), 'delay' (3.41 KiB of class 'function') and 'ii' (56 bytes of class 'numeric') [18:01:19.604] - globals: [4] 'ii', 'n', 'C', 'delay' [18:01:19.605] - packages: [1] 'future' [18:01:19.605] getGlobalsAndPackages() ... DONE 3[18:01:19.605] getGlobalsAndPackages() ... [18:01:19.605] Searching for globals... [18:01:19.612] - globals found: [9] '{', 'message', 'sprintf', 'ii', 'n', '<-', 'mandelbrot', 'C', 'delay' [18:01:19.612] Searching for globals ... DONE [18:01:19.612] Resolving globals: FALSE [18:01:19.613] The total size of the 4 globals is 14.24 KiB (14584 bytes) [18:01:19.613] 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 14.24 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). The three largest globals are 'C' (10.72 KiB of class 'complex'), 'delay' (3.41 KiB of class 'function') and 'ii' (56 bytes of class 'numeric') [18:01:19.614] - globals: [4] 'ii', 'n', 'C', 'delay' [18:01:19.614] - packages: [1] 'future' [18:01:19.614] getGlobalsAndPackages() ... DONE 4[18:01:19.614] getGlobalsAndPackages() ... [18:01:19.615] Searching for globals... [18:01:19.619] - globals found: [9] '{', 'message', 'sprintf', 'ii', 'n', '<-', 'mandelbrot', 'C', 'delay' [18:01:19.619] Searching for globals ... DONE [18:01:19.619] Resolving globals: FALSE [18:01:19.620] The total size of the 4 globals is 14.24 KiB (14584 bytes) [18:01:19.621] 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 14.24 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). The three largest globals are 'C' (10.72 KiB of class 'complex'), 'delay' (3.41 KiB of class 'function') and 'ii' (56 bytes of class 'numeric') [18:01:19.621] - globals: [4] 'ii', 'n', 'C', 'delay' [18:01:19.621] - packages: [1] 'future' [18:01:19.621] getGlobalsAndPackages() ... DONE > message(".") . > ## Calculate and plot tiles > repeat { + counts <- plot_what_is_done(counts) + if (!any(sapply(counts, FUN = inherits, "Future"))) break + } [18:01:19.632] resolved() for 'Future' ... [18:01:19.632] - state: 'created' [18:01:19.632] - run: TRUE [18:01:19.632] - run() ... [18:01:19.632] run() for 'Future' ... [18:01:19.633] - state: 'created' [18:01:19.633] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:01:19.646] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:01:19.647] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:01:19.647] - Field: 'node' [18:01:19.647] - Field: 'label' [18:01:19.647] - Field: 'local' [18:01:19.647] - Field: 'owner' [18:01:19.647] - Field: 'envir' [18:01:19.648] - Field: 'workers' [18:01:19.648] - Field: 'packages' [18:01:19.648] - Field: 'gc' [18:01:19.648] - Field: 'conditions' [18:01:19.648] - Field: 'persistent' [18:01:19.649] - Field: 'expr' [18:01:19.649] - Field: 'uuid' [18:01:19.649] - Field: 'seed' [18:01:19.649] - Field: 'version' [18:01:19.649] - Field: 'result' [18:01:19.649] - Field: 'asynchronous' [18:01:19.650] - Field: 'calls' [18:01:19.650] - Field: 'globals' [18:01:19.650] - Field: 'stdout' [18:01:19.650] - Field: 'earlySignal' [18:01:19.650] - Field: 'lazy' [18:01:19.650] - Field: 'state' [18:01:19.651] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:01:19.651] - Launch lazy future ... [18:01:19.651] Packages needed by the future expression (n = 1): 'future' [18:01:19.651] Packages needed by future strategies (n = 0): [18:01:19.652] { [18:01:19.652] { [18:01:19.652] { [18:01:19.652] ...future.startTime <- base::Sys.time() [18:01:19.652] { [18:01:19.652] { [18:01:19.652] { [18:01:19.652] { [18:01:19.652] { [18:01:19.652] base::local({ [18:01:19.652] has_future <- base::requireNamespace("future", [18:01:19.652] quietly = TRUE) [18:01:19.652] if (has_future) { [18:01:19.652] ns <- base::getNamespace("future") [18:01:19.652] version <- ns[[".package"]][["version"]] [18:01:19.652] if (is.null(version)) [18:01:19.652] version <- utils::packageVersion("future") [18:01:19.652] } [18:01:19.652] else { [18:01:19.652] version <- NULL [18:01:19.652] } [18:01:19.652] if (!has_future || version < "1.8.0") { [18:01:19.652] info <- base::c(r_version = base::gsub("R version ", [18:01:19.652] "", base::R.version$version.string), [18:01:19.652] platform = base::sprintf("%s (%s-bit)", [18:01:19.652] base::R.version$platform, 8 * [18:01:19.652] base::.Machine$sizeof.pointer), [18:01:19.652] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:19.652] "release", "version")], collapse = " "), [18:01:19.652] hostname = base::Sys.info()[["nodename"]]) [18:01:19.652] info <- base::sprintf("%s: %s", base::names(info), [18:01:19.652] info) [18:01:19.652] info <- base::paste(info, collapse = "; ") [18:01:19.652] if (!has_future) { [18:01:19.652] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:19.652] info) [18:01:19.652] } [18:01:19.652] else { [18:01:19.652] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:19.652] info, version) [18:01:19.652] } [18:01:19.652] base::stop(msg) [18:01:19.652] } [18:01:19.652] }) [18:01:19.652] } [18:01:19.652] ...future.mc.cores.old <- base::getOption("mc.cores") [18:01:19.652] base::options(mc.cores = 1L) [18:01:19.652] } [18:01:19.652] base::local({ [18:01:19.652] for (pkg in "future") { [18:01:19.652] base::loadNamespace(pkg) [18:01:19.652] base::library(pkg, character.only = TRUE) [18:01:19.652] } [18:01:19.652] }) [18:01:19.652] } [18:01:19.652] options(future.plan = NULL) [18:01:19.652] Sys.unsetenv("R_FUTURE_PLAN") [18:01:19.652] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:19.652] } [18:01:19.652] ...future.workdir <- getwd() [18:01:19.652] } [18:01:19.652] ...future.oldOptions <- base::as.list(base::.Options) [18:01:19.652] ...future.oldEnvVars <- base::Sys.getenv() [18:01:19.652] } [18:01:19.652] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:01:19.652] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:19.652] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:01:19.652] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:01:19.652] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:19.652] future.stdout.windows.reencode = NULL, width = 80L) [18:01:19.652] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:19.652] base::names(...future.oldOptions)) [18:01:19.652] } [18:01:19.652] if (FALSE) { [18:01:19.652] } [18:01:19.652] else { [18:01:19.652] if (TRUE) { [18:01:19.652] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:19.652] open = "w") [18:01:19.652] } [18:01:19.652] else { [18:01:19.652] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:19.652] windows = "NUL", "/dev/null"), open = "w") [18:01:19.652] } [18:01:19.652] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:19.652] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:19.652] base::sink(type = "output", split = FALSE) [18:01:19.652] base::close(...future.stdout) [18:01:19.652] }, add = TRUE) [18:01:19.652] } [18:01:19.652] ...future.frame <- base::sys.nframe() [18:01:19.652] ...future.conditions <- base::list() [18:01:19.652] ...future.rng <- base::globalenv()$.Random.seed [18:01:19.652] if (FALSE) { [18:01:19.652] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:19.652] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:19.652] } [18:01:19.652] ...future.result <- base::tryCatch({ [18:01:19.652] base::withCallingHandlers({ [18:01:19.652] ...future.value <- base::withVisible(base::local({ [18:01:19.652] ...future.makeSendCondition <- local({ [18:01:19.652] sendCondition <- NULL [18:01:19.652] function(frame = 1L) { [18:01:19.652] if (is.function(sendCondition)) [18:01:19.652] return(sendCondition) [18:01:19.652] ns <- getNamespace("parallel") [18:01:19.652] if (exists("sendData", mode = "function", [18:01:19.652] envir = ns)) { [18:01:19.652] parallel_sendData <- get("sendData", mode = "function", [18:01:19.652] envir = ns) [18:01:19.652] envir <- sys.frame(frame) [18:01:19.652] master <- NULL [18:01:19.652] while (!identical(envir, .GlobalEnv) && [18:01:19.652] !identical(envir, emptyenv())) { [18:01:19.652] if (exists("master", mode = "list", envir = envir, [18:01:19.652] inherits = FALSE)) { [18:01:19.652] master <- get("master", mode = "list", [18:01:19.652] envir = envir, inherits = FALSE) [18:01:19.652] if (inherits(master, c("SOCKnode", [18:01:19.652] "SOCK0node"))) { [18:01:19.652] sendCondition <<- function(cond) { [18:01:19.652] data <- list(type = "VALUE", value = cond, [18:01:19.652] success = TRUE) [18:01:19.652] parallel_sendData(master, data) [18:01:19.652] } [18:01:19.652] return(sendCondition) [18:01:19.652] } [18:01:19.652] } [18:01:19.652] frame <- frame + 1L [18:01:19.652] envir <- sys.frame(frame) [18:01:19.652] } [18:01:19.652] } [18:01:19.652] sendCondition <<- function(cond) NULL [18:01:19.652] } [18:01:19.652] }) [18:01:19.652] withCallingHandlers({ [18:01:19.652] { [18:01:19.652] message(sprintf("Calculating tile #%d of %d ...", [18:01:19.652] ii, n), appendLF = FALSE) [18:01:19.652] fit <- mandelbrot(C) [18:01:19.652] delay(fit) [18:01:19.652] message(" done") [18:01:19.652] fit [18:01:19.652] } [18:01:19.652] }, immediateCondition = function(cond) { [18:01:19.652] sendCondition <- ...future.makeSendCondition() [18:01:19.652] sendCondition(cond) [18:01:19.652] muffleCondition <- function (cond, pattern = "^muffle") [18:01:19.652] { [18:01:19.652] inherits <- base::inherits [18:01:19.652] invokeRestart <- base::invokeRestart [18:01:19.652] is.null <- base::is.null [18:01:19.652] muffled <- FALSE [18:01:19.652] if (inherits(cond, "message")) { [18:01:19.652] muffled <- grepl(pattern, "muffleMessage") [18:01:19.652] if (muffled) [18:01:19.652] invokeRestart("muffleMessage") [18:01:19.652] } [18:01:19.652] else if (inherits(cond, "warning")) { [18:01:19.652] muffled <- grepl(pattern, "muffleWarning") [18:01:19.652] if (muffled) [18:01:19.652] invokeRestart("muffleWarning") [18:01:19.652] } [18:01:19.652] else if (inherits(cond, "condition")) { [18:01:19.652] if (!is.null(pattern)) { [18:01:19.652] computeRestarts <- base::computeRestarts [18:01:19.652] grepl <- base::grepl [18:01:19.652] restarts <- computeRestarts(cond) [18:01:19.652] for (restart in restarts) { [18:01:19.652] name <- restart$name [18:01:19.652] if (is.null(name)) [18:01:19.652] next [18:01:19.652] if (!grepl(pattern, name)) [18:01:19.652] next [18:01:19.652] invokeRestart(restart) [18:01:19.652] muffled <- TRUE [18:01:19.652] break [18:01:19.652] } [18:01:19.652] } [18:01:19.652] } [18:01:19.652] invisible(muffled) [18:01:19.652] } [18:01:19.652] muffleCondition(cond) [18:01:19.652] }) [18:01:19.652] })) [18:01:19.652] future::FutureResult(value = ...future.value$value, [18:01:19.652] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:19.652] ...future.rng), globalenv = if (FALSE) [18:01:19.652] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:19.652] ...future.globalenv.names)) [18:01:19.652] else NULL, started = ...future.startTime, version = "1.8") [18:01:19.652] }, condition = base::local({ [18:01:19.652] c <- base::c [18:01:19.652] inherits <- base::inherits [18:01:19.652] invokeRestart <- base::invokeRestart [18:01:19.652] length <- base::length [18:01:19.652] list <- base::list [18:01:19.652] seq.int <- base::seq.int [18:01:19.652] signalCondition <- base::signalCondition [18:01:19.652] sys.calls <- base::sys.calls [18:01:19.652] `[[` <- base::`[[` [18:01:19.652] `+` <- base::`+` [18:01:19.652] `<<-` <- base::`<<-` [18:01:19.652] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:19.652] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:19.652] 3L)] [18:01:19.652] } [18:01:19.652] function(cond) { [18:01:19.652] is_error <- inherits(cond, "error") [18:01:19.652] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:19.652] NULL) [18:01:19.652] if (is_error) { [18:01:19.652] sessionInformation <- function() { [18:01:19.652] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:19.652] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:19.652] search = base::search(), system = base::Sys.info()) [18:01:19.652] } [18:01:19.652] ...future.conditions[[length(...future.conditions) + [18:01:19.652] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:19.652] cond$call), session = sessionInformation(), [18:01:19.652] timestamp = base::Sys.time(), signaled = 0L) [18:01:19.652] signalCondition(cond) [18:01:19.652] } [18:01:19.652] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:19.652] "immediateCondition"))) { [18:01:19.652] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:19.652] ...future.conditions[[length(...future.conditions) + [18:01:19.652] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:19.652] if (TRUE && !signal) { [18:01:19.652] muffleCondition <- function (cond, pattern = "^muffle") [18:01:19.652] { [18:01:19.652] inherits <- base::inherits [18:01:19.652] invokeRestart <- base::invokeRestart [18:01:19.652] is.null <- base::is.null [18:01:19.652] muffled <- FALSE [18:01:19.652] if (inherits(cond, "message")) { [18:01:19.652] muffled <- grepl(pattern, "muffleMessage") [18:01:19.652] if (muffled) [18:01:19.652] invokeRestart("muffleMessage") [18:01:19.652] } [18:01:19.652] else if (inherits(cond, "warning")) { [18:01:19.652] muffled <- grepl(pattern, "muffleWarning") [18:01:19.652] if (muffled) [18:01:19.652] invokeRestart("muffleWarning") [18:01:19.652] } [18:01:19.652] else if (inherits(cond, "condition")) { [18:01:19.652] if (!is.null(pattern)) { [18:01:19.652] computeRestarts <- base::computeRestarts [18:01:19.652] grepl <- base::grepl [18:01:19.652] restarts <- computeRestarts(cond) [18:01:19.652] for (restart in restarts) { [18:01:19.652] name <- restart$name [18:01:19.652] if (is.null(name)) [18:01:19.652] next [18:01:19.652] if (!grepl(pattern, name)) [18:01:19.652] next [18:01:19.652] invokeRestart(restart) [18:01:19.652] muffled <- TRUE [18:01:19.652] break [18:01:19.652] } [18:01:19.652] } [18:01:19.652] } [18:01:19.652] invisible(muffled) [18:01:19.652] } [18:01:19.652] muffleCondition(cond, pattern = "^muffle") [18:01:19.652] } [18:01:19.652] } [18:01:19.652] else { [18:01:19.652] if (TRUE) { [18:01:19.652] muffleCondition <- function (cond, pattern = "^muffle") [18:01:19.652] { [18:01:19.652] inherits <- base::inherits [18:01:19.652] invokeRestart <- base::invokeRestart [18:01:19.652] is.null <- base::is.null [18:01:19.652] muffled <- FALSE [18:01:19.652] if (inherits(cond, "message")) { [18:01:19.652] muffled <- grepl(pattern, "muffleMessage") [18:01:19.652] if (muffled) [18:01:19.652] invokeRestart("muffleMessage") [18:01:19.652] } [18:01:19.652] else if (inherits(cond, "warning")) { [18:01:19.652] muffled <- grepl(pattern, "muffleWarning") [18:01:19.652] if (muffled) [18:01:19.652] invokeRestart("muffleWarning") [18:01:19.652] } [18:01:19.652] else if (inherits(cond, "condition")) { [18:01:19.652] if (!is.null(pattern)) { [18:01:19.652] computeRestarts <- base::computeRestarts [18:01:19.652] grepl <- base::grepl [18:01:19.652] restarts <- computeRestarts(cond) [18:01:19.652] for (restart in restarts) { [18:01:19.652] name <- restart$name [18:01:19.652] if (is.null(name)) [18:01:19.652] next [18:01:19.652] if (!grepl(pattern, name)) [18:01:19.652] next [18:01:19.652] invokeRestart(restart) [18:01:19.652] muffled <- TRUE [18:01:19.652] break [18:01:19.652] } [18:01:19.652] } [18:01:19.652] } [18:01:19.652] invisible(muffled) [18:01:19.652] } [18:01:19.652] muffleCondition(cond, pattern = "^muffle") [18:01:19.652] } [18:01:19.652] } [18:01:19.652] } [18:01:19.652] })) [18:01:19.652] }, error = function(ex) { [18:01:19.652] base::structure(base::list(value = NULL, visible = NULL, [18:01:19.652] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:19.652] ...future.rng), started = ...future.startTime, [18:01:19.652] finished = Sys.time(), session_uuid = NA_character_, [18:01:19.652] version = "1.8"), class = "FutureResult") [18:01:19.652] }, finally = { [18:01:19.652] if (!identical(...future.workdir, getwd())) [18:01:19.652] setwd(...future.workdir) [18:01:19.652] { [18:01:19.652] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:19.652] ...future.oldOptions$nwarnings <- NULL [18:01:19.652] } [18:01:19.652] base::options(...future.oldOptions) [18:01:19.652] if (.Platform$OS.type == "windows") { [18:01:19.652] old_names <- names(...future.oldEnvVars) [18:01:19.652] envs <- base::Sys.getenv() [18:01:19.652] names <- names(envs) [18:01:19.652] common <- intersect(names, old_names) [18:01:19.652] added <- setdiff(names, old_names) [18:01:19.652] removed <- setdiff(old_names, names) [18:01:19.652] changed <- common[...future.oldEnvVars[common] != [18:01:19.652] envs[common]] [18:01:19.652] NAMES <- toupper(changed) [18:01:19.652] args <- list() [18:01:19.652] for (kk in seq_along(NAMES)) { [18:01:19.652] name <- changed[[kk]] [18:01:19.652] NAME <- NAMES[[kk]] [18:01:19.652] if (name != NAME && is.element(NAME, old_names)) [18:01:19.652] next [18:01:19.652] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:19.652] } [18:01:19.652] NAMES <- toupper(added) [18:01:19.652] for (kk in seq_along(NAMES)) { [18:01:19.652] name <- added[[kk]] [18:01:19.652] NAME <- NAMES[[kk]] [18:01:19.652] if (name != NAME && is.element(NAME, old_names)) [18:01:19.652] next [18:01:19.652] args[[name]] <- "" [18:01:19.652] } [18:01:19.652] NAMES <- toupper(removed) [18:01:19.652] for (kk in seq_along(NAMES)) { [18:01:19.652] name <- removed[[kk]] [18:01:19.652] NAME <- NAMES[[kk]] [18:01:19.652] if (name != NAME && is.element(NAME, old_names)) [18:01:19.652] next [18:01:19.652] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:19.652] } [18:01:19.652] if (length(args) > 0) [18:01:19.652] base::do.call(base::Sys.setenv, args = args) [18:01:19.652] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:19.652] } [18:01:19.652] else { [18:01:19.652] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:19.652] } [18:01:19.652] { [18:01:19.652] if (base::length(...future.futureOptionsAdded) > [18:01:19.652] 0L) { [18:01:19.652] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:19.652] base::names(opts) <- ...future.futureOptionsAdded [18:01:19.652] base::options(opts) [18:01:19.652] } [18:01:19.652] { [18:01:19.652] { [18:01:19.652] base::options(mc.cores = ...future.mc.cores.old) [18:01:19.652] NULL [18:01:19.652] } [18:01:19.652] options(future.plan = NULL) [18:01:19.652] if (is.na(NA_character_)) [18:01:19.652] Sys.unsetenv("R_FUTURE_PLAN") [18:01:19.652] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:19.652] future::plan(list(function (..., workers = availableCores(), [18:01:19.652] lazy = FALSE, rscript_libs = .libPaths(), [18:01:19.652] envir = parent.frame()) [18:01:19.652] { [18:01:19.652] if (is.function(workers)) [18:01:19.652] workers <- workers() [18:01:19.652] workers <- structure(as.integer(workers), [18:01:19.652] class = class(workers)) [18:01:19.652] stop_if_not(length(workers) == 1, is.finite(workers), [18:01:19.652] workers >= 1) [18:01:19.652] if (workers == 1L && !inherits(workers, "AsIs")) { [18:01:19.652] return(sequential(..., lazy = TRUE, envir = envir)) [18:01:19.652] } [18:01:19.652] future <- MultisessionFuture(..., workers = workers, [18:01:19.652] lazy = lazy, rscript_libs = rscript_libs, [18:01:19.652] envir = envir) [18:01:19.652] if (!future$lazy) [18:01:19.652] future <- run(future) [18:01:19.652] invisible(future) [18:01:19.652] }), .cleanup = FALSE, .init = FALSE) [18:01:19.652] } [18:01:19.652] } [18:01:19.652] } [18:01:19.652] }) [18:01:19.652] if (TRUE) { [18:01:19.652] base::sink(type = "output", split = FALSE) [18:01:19.652] if (TRUE) { [18:01:19.652] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:19.652] } [18:01:19.652] else { [18:01:19.652] ...future.result["stdout"] <- base::list(NULL) [18:01:19.652] } [18:01:19.652] base::close(...future.stdout) [18:01:19.652] ...future.stdout <- NULL [18:01:19.652] } [18:01:19.652] ...future.result$conditions <- ...future.conditions [18:01:19.652] ...future.result$finished <- base::Sys.time() [18:01:19.652] ...future.result [18:01:19.652] } [18:01:19.657] Exporting 4 global objects (14.24 KiB) to cluster node #1 ... [18:01:19.658] Exporting 'ii' (56 bytes) to cluster node #1 ... [18:01:19.658] Exporting 'ii' (56 bytes) to cluster node #1 ... DONE [18:01:19.658] Exporting 'n' (56 bytes) to cluster node #1 ... [18:01:19.659] Exporting 'n' (56 bytes) to cluster node #1 ... DONE [18:01:19.659] Exporting 'C' (10.72 KiB) to cluster node #1 ... [18:01:19.659] Exporting 'C' (10.72 KiB) to cluster node #1 ... DONE [18:01:19.660] Exporting 'delay' (3.41 KiB) to cluster node #1 ... [18:01:19.660] Exporting 'delay' (3.41 KiB) to cluster node #1 ... DONE [18:01:19.660] Exporting 4 global objects (14.24 KiB) to cluster node #1 ... DONE [18:01:19.661] MultisessionFuture started [18:01:19.661] - Launch lazy future ... done [18:01:19.662] run() for 'MultisessionFuture' ... done [18:01:19.662] - run() ... done [18:01:19.662] - resolved() ... [18:01:19.700] receiveMessageFromWorker() for ClusterFuture ... [18:01:19.700] - Validating connection of MultisessionFuture [18:01:19.700] - received message: FutureResult [18:01:19.701] - Received FutureResult [18:01:19.701] - Erased future from FutureRegistry [18:01:19.701] result() for ClusterFuture ... [18:01:19.701] - result already collected: FutureResult [18:01:19.701] result() for ClusterFuture ... done [18:01:19.701] signalConditions() ... [18:01:19.702] - include = 'immediateCondition' [18:01:19.702] - exclude = [18:01:19.702] - resignal = FALSE [18:01:19.702] - Number of conditions: 2 [18:01:19.702] signalConditions() ... done [18:01:19.702] receiveMessageFromWorker() for ClusterFuture ... done [18:01:19.703] - resolved: TRUE [18:01:19.703] - resolved() ... done [18:01:19.703] resolved() for 'MultisessionFuture' ... done Plotting tile #1 of 4 ... [18:01:19.703] result() for ClusterFuture ... [18:01:19.703] - result already collected: FutureResult [18:01:19.704] result() for ClusterFuture ... done [18:01:19.704] result() for ClusterFuture ... [18:01:19.704] - result already collected: FutureResult [18:01:19.704] result() for ClusterFuture ... done [18:01:19.704] signalConditions() ... [18:01:19.704] - include = 'immediateCondition' [18:01:19.704] - exclude = [18:01:19.705] - resignal = FALSE [18:01:19.705] - Number of conditions: 2 [18:01:19.705] signalConditions() ... done [18:01:19.705] Future state: 'finished' [18:01:19.705] result() for ClusterFuture ... [18:01:19.705] - result already collected: FutureResult [18:01:19.706] result() for ClusterFuture ... done [18:01:19.706] signalConditions() ... [18:01:19.706] - include = 'condition' [18:01:19.706] - exclude = 'immediateCondition' [18:01:19.706] - resignal = TRUE [18:01:19.706] - Number of conditions: 2 [18:01:19.707] - Condition #1: 'simpleMessage', 'message', 'condition' Calculating tile #1 of 4 ...[18:01:19.707] - Condition #2: 'simpleMessage', 'message', 'condition' done [18:01:19.707] signalConditions() ... done [18:01:19.708] resolved() for 'Future' ... [18:01:19.708] - state: 'created' [18:01:19.708] - run: TRUE [18:01:19.708] - run() ... [18:01:19.709] run() for 'Future' ... [18:01:19.709] - state: 'created' [18:01:19.709] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:01:19.722] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:01:19.723] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:01:19.723] - Field: 'node' [18:01:19.723] - Field: 'label' [18:01:19.723] - Field: 'local' [18:01:19.723] - Field: 'owner' [18:01:19.724] - Field: 'envir' [18:01:19.724] - Field: 'workers' [18:01:19.724] - Field: 'packages' [18:01:19.724] - Field: 'gc' [18:01:19.724] - Field: 'conditions' [18:01:19.724] - Field: 'persistent' [18:01:19.725] - Field: 'expr' [18:01:19.725] - Field: 'uuid' [18:01:19.725] - Field: 'seed' [18:01:19.725] - Field: 'version' [18:01:19.725] - Field: 'result' [18:01:19.725] - Field: 'asynchronous' [18:01:19.726] - Field: 'calls' [18:01:19.726] - Field: 'globals' [18:01:19.726] - Field: 'stdout' [18:01:19.726] - Field: 'earlySignal' [18:01:19.726] - Field: 'lazy' [18:01:19.726] - Field: 'state' [18:01:19.727] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:01:19.727] - Launch lazy future ... [18:01:19.727] Packages needed by the future expression (n = 1): 'future' [18:01:19.727] Packages needed by future strategies (n = 0): [18:01:19.728] { [18:01:19.728] { [18:01:19.728] { [18:01:19.728] ...future.startTime <- base::Sys.time() [18:01:19.728] { [18:01:19.728] { [18:01:19.728] { [18:01:19.728] { [18:01:19.728] { [18:01:19.728] base::local({ [18:01:19.728] has_future <- base::requireNamespace("future", [18:01:19.728] quietly = TRUE) [18:01:19.728] if (has_future) { [18:01:19.728] ns <- base::getNamespace("future") [18:01:19.728] version <- ns[[".package"]][["version"]] [18:01:19.728] if (is.null(version)) [18:01:19.728] version <- utils::packageVersion("future") [18:01:19.728] } [18:01:19.728] else { [18:01:19.728] version <- NULL [18:01:19.728] } [18:01:19.728] if (!has_future || version < "1.8.0") { [18:01:19.728] info <- base::c(r_version = base::gsub("R version ", [18:01:19.728] "", base::R.version$version.string), [18:01:19.728] platform = base::sprintf("%s (%s-bit)", [18:01:19.728] base::R.version$platform, 8 * [18:01:19.728] base::.Machine$sizeof.pointer), [18:01:19.728] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:19.728] "release", "version")], collapse = " "), [18:01:19.728] hostname = base::Sys.info()[["nodename"]]) [18:01:19.728] info <- base::sprintf("%s: %s", base::names(info), [18:01:19.728] info) [18:01:19.728] info <- base::paste(info, collapse = "; ") [18:01:19.728] if (!has_future) { [18:01:19.728] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:19.728] info) [18:01:19.728] } [18:01:19.728] else { [18:01:19.728] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:19.728] info, version) [18:01:19.728] } [18:01:19.728] base::stop(msg) [18:01:19.728] } [18:01:19.728] }) [18:01:19.728] } [18:01:19.728] ...future.mc.cores.old <- base::getOption("mc.cores") [18:01:19.728] base::options(mc.cores = 1L) [18:01:19.728] } [18:01:19.728] base::local({ [18:01:19.728] for (pkg in "future") { [18:01:19.728] base::loadNamespace(pkg) [18:01:19.728] base::library(pkg, character.only = TRUE) [18:01:19.728] } [18:01:19.728] }) [18:01:19.728] } [18:01:19.728] options(future.plan = NULL) [18:01:19.728] Sys.unsetenv("R_FUTURE_PLAN") [18:01:19.728] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:19.728] } [18:01:19.728] ...future.workdir <- getwd() [18:01:19.728] } [18:01:19.728] ...future.oldOptions <- base::as.list(base::.Options) [18:01:19.728] ...future.oldEnvVars <- base::Sys.getenv() [18:01:19.728] } [18:01:19.728] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:01:19.728] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:19.728] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:01:19.728] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:01:19.728] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:19.728] future.stdout.windows.reencode = NULL, width = 80L) [18:01:19.728] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:19.728] base::names(...future.oldOptions)) [18:01:19.728] } [18:01:19.728] if (FALSE) { [18:01:19.728] } [18:01:19.728] else { [18:01:19.728] if (TRUE) { [18:01:19.728] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:19.728] open = "w") [18:01:19.728] } [18:01:19.728] else { [18:01:19.728] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:19.728] windows = "NUL", "/dev/null"), open = "w") [18:01:19.728] } [18:01:19.728] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:19.728] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:19.728] base::sink(type = "output", split = FALSE) [18:01:19.728] base::close(...future.stdout) [18:01:19.728] }, add = TRUE) [18:01:19.728] } [18:01:19.728] ...future.frame <- base::sys.nframe() [18:01:19.728] ...future.conditions <- base::list() [18:01:19.728] ...future.rng <- base::globalenv()$.Random.seed [18:01:19.728] if (FALSE) { [18:01:19.728] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:19.728] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:19.728] } [18:01:19.728] ...future.result <- base::tryCatch({ [18:01:19.728] base::withCallingHandlers({ [18:01:19.728] ...future.value <- base::withVisible(base::local({ [18:01:19.728] ...future.makeSendCondition <- local({ [18:01:19.728] sendCondition <- NULL [18:01:19.728] function(frame = 1L) { [18:01:19.728] if (is.function(sendCondition)) [18:01:19.728] return(sendCondition) [18:01:19.728] ns <- getNamespace("parallel") [18:01:19.728] if (exists("sendData", mode = "function", [18:01:19.728] envir = ns)) { [18:01:19.728] parallel_sendData <- get("sendData", mode = "function", [18:01:19.728] envir = ns) [18:01:19.728] envir <- sys.frame(frame) [18:01:19.728] master <- NULL [18:01:19.728] while (!identical(envir, .GlobalEnv) && [18:01:19.728] !identical(envir, emptyenv())) { [18:01:19.728] if (exists("master", mode = "list", envir = envir, [18:01:19.728] inherits = FALSE)) { [18:01:19.728] master <- get("master", mode = "list", [18:01:19.728] envir = envir, inherits = FALSE) [18:01:19.728] if (inherits(master, c("SOCKnode", [18:01:19.728] "SOCK0node"))) { [18:01:19.728] sendCondition <<- function(cond) { [18:01:19.728] data <- list(type = "VALUE", value = cond, [18:01:19.728] success = TRUE) [18:01:19.728] parallel_sendData(master, data) [18:01:19.728] } [18:01:19.728] return(sendCondition) [18:01:19.728] } [18:01:19.728] } [18:01:19.728] frame <- frame + 1L [18:01:19.728] envir <- sys.frame(frame) [18:01:19.728] } [18:01:19.728] } [18:01:19.728] sendCondition <<- function(cond) NULL [18:01:19.728] } [18:01:19.728] }) [18:01:19.728] withCallingHandlers({ [18:01:19.728] { [18:01:19.728] message(sprintf("Calculating tile #%d of %d ...", [18:01:19.728] ii, n), appendLF = FALSE) [18:01:19.728] fit <- mandelbrot(C) [18:01:19.728] delay(fit) [18:01:19.728] message(" done") [18:01:19.728] fit [18:01:19.728] } [18:01:19.728] }, immediateCondition = function(cond) { [18:01:19.728] sendCondition <- ...future.makeSendCondition() [18:01:19.728] sendCondition(cond) [18:01:19.728] muffleCondition <- function (cond, pattern = "^muffle") [18:01:19.728] { [18:01:19.728] inherits <- base::inherits [18:01:19.728] invokeRestart <- base::invokeRestart [18:01:19.728] is.null <- base::is.null [18:01:19.728] muffled <- FALSE [18:01:19.728] if (inherits(cond, "message")) { [18:01:19.728] muffled <- grepl(pattern, "muffleMessage") [18:01:19.728] if (muffled) [18:01:19.728] invokeRestart("muffleMessage") [18:01:19.728] } [18:01:19.728] else if (inherits(cond, "warning")) { [18:01:19.728] muffled <- grepl(pattern, "muffleWarning") [18:01:19.728] if (muffled) [18:01:19.728] invokeRestart("muffleWarning") [18:01:19.728] } [18:01:19.728] else if (inherits(cond, "condition")) { [18:01:19.728] if (!is.null(pattern)) { [18:01:19.728] computeRestarts <- base::computeRestarts [18:01:19.728] grepl <- base::grepl [18:01:19.728] restarts <- computeRestarts(cond) [18:01:19.728] for (restart in restarts) { [18:01:19.728] name <- restart$name [18:01:19.728] if (is.null(name)) [18:01:19.728] next [18:01:19.728] if (!grepl(pattern, name)) [18:01:19.728] next [18:01:19.728] invokeRestart(restart) [18:01:19.728] muffled <- TRUE [18:01:19.728] break [18:01:19.728] } [18:01:19.728] } [18:01:19.728] } [18:01:19.728] invisible(muffled) [18:01:19.728] } [18:01:19.728] muffleCondition(cond) [18:01:19.728] }) [18:01:19.728] })) [18:01:19.728] future::FutureResult(value = ...future.value$value, [18:01:19.728] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:19.728] ...future.rng), globalenv = if (FALSE) [18:01:19.728] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:19.728] ...future.globalenv.names)) [18:01:19.728] else NULL, started = ...future.startTime, version = "1.8") [18:01:19.728] }, condition = base::local({ [18:01:19.728] c <- base::c [18:01:19.728] inherits <- base::inherits [18:01:19.728] invokeRestart <- base::invokeRestart [18:01:19.728] length <- base::length [18:01:19.728] list <- base::list [18:01:19.728] seq.int <- base::seq.int [18:01:19.728] signalCondition <- base::signalCondition [18:01:19.728] sys.calls <- base::sys.calls [18:01:19.728] `[[` <- base::`[[` [18:01:19.728] `+` <- base::`+` [18:01:19.728] `<<-` <- base::`<<-` [18:01:19.728] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:19.728] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:19.728] 3L)] [18:01:19.728] } [18:01:19.728] function(cond) { [18:01:19.728] is_error <- inherits(cond, "error") [18:01:19.728] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:19.728] NULL) [18:01:19.728] if (is_error) { [18:01:19.728] sessionInformation <- function() { [18:01:19.728] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:19.728] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:19.728] search = base::search(), system = base::Sys.info()) [18:01:19.728] } [18:01:19.728] ...future.conditions[[length(...future.conditions) + [18:01:19.728] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:19.728] cond$call), session = sessionInformation(), [18:01:19.728] timestamp = base::Sys.time(), signaled = 0L) [18:01:19.728] signalCondition(cond) [18:01:19.728] } [18:01:19.728] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:19.728] "immediateCondition"))) { [18:01:19.728] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:19.728] ...future.conditions[[length(...future.conditions) + [18:01:19.728] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:19.728] if (TRUE && !signal) { [18:01:19.728] muffleCondition <- function (cond, pattern = "^muffle") [18:01:19.728] { [18:01:19.728] inherits <- base::inherits [18:01:19.728] invokeRestart <- base::invokeRestart [18:01:19.728] is.null <- base::is.null [18:01:19.728] muffled <- FALSE [18:01:19.728] if (inherits(cond, "message")) { [18:01:19.728] muffled <- grepl(pattern, "muffleMessage") [18:01:19.728] if (muffled) [18:01:19.728] invokeRestart("muffleMessage") [18:01:19.728] } [18:01:19.728] else if (inherits(cond, "warning")) { [18:01:19.728] muffled <- grepl(pattern, "muffleWarning") [18:01:19.728] if (muffled) [18:01:19.728] invokeRestart("muffleWarning") [18:01:19.728] } [18:01:19.728] else if (inherits(cond, "condition")) { [18:01:19.728] if (!is.null(pattern)) { [18:01:19.728] computeRestarts <- base::computeRestarts [18:01:19.728] grepl <- base::grepl [18:01:19.728] restarts <- computeRestarts(cond) [18:01:19.728] for (restart in restarts) { [18:01:19.728] name <- restart$name [18:01:19.728] if (is.null(name)) [18:01:19.728] next [18:01:19.728] if (!grepl(pattern, name)) [18:01:19.728] next [18:01:19.728] invokeRestart(restart) [18:01:19.728] muffled <- TRUE [18:01:19.728] break [18:01:19.728] } [18:01:19.728] } [18:01:19.728] } [18:01:19.728] invisible(muffled) [18:01:19.728] } [18:01:19.728] muffleCondition(cond, pattern = "^muffle") [18:01:19.728] } [18:01:19.728] } [18:01:19.728] else { [18:01:19.728] if (TRUE) { [18:01:19.728] muffleCondition <- function (cond, pattern = "^muffle") [18:01:19.728] { [18:01:19.728] inherits <- base::inherits [18:01:19.728] invokeRestart <- base::invokeRestart [18:01:19.728] is.null <- base::is.null [18:01:19.728] muffled <- FALSE [18:01:19.728] if (inherits(cond, "message")) { [18:01:19.728] muffled <- grepl(pattern, "muffleMessage") [18:01:19.728] if (muffled) [18:01:19.728] invokeRestart("muffleMessage") [18:01:19.728] } [18:01:19.728] else if (inherits(cond, "warning")) { [18:01:19.728] muffled <- grepl(pattern, "muffleWarning") [18:01:19.728] if (muffled) [18:01:19.728] invokeRestart("muffleWarning") [18:01:19.728] } [18:01:19.728] else if (inherits(cond, "condition")) { [18:01:19.728] if (!is.null(pattern)) { [18:01:19.728] computeRestarts <- base::computeRestarts [18:01:19.728] grepl <- base::grepl [18:01:19.728] restarts <- computeRestarts(cond) [18:01:19.728] for (restart in restarts) { [18:01:19.728] name <- restart$name [18:01:19.728] if (is.null(name)) [18:01:19.728] next [18:01:19.728] if (!grepl(pattern, name)) [18:01:19.728] next [18:01:19.728] invokeRestart(restart) [18:01:19.728] muffled <- TRUE [18:01:19.728] break [18:01:19.728] } [18:01:19.728] } [18:01:19.728] } [18:01:19.728] invisible(muffled) [18:01:19.728] } [18:01:19.728] muffleCondition(cond, pattern = "^muffle") [18:01:19.728] } [18:01:19.728] } [18:01:19.728] } [18:01:19.728] })) [18:01:19.728] }, error = function(ex) { [18:01:19.728] base::structure(base::list(value = NULL, visible = NULL, [18:01:19.728] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:19.728] ...future.rng), started = ...future.startTime, [18:01:19.728] finished = Sys.time(), session_uuid = NA_character_, [18:01:19.728] version = "1.8"), class = "FutureResult") [18:01:19.728] }, finally = { [18:01:19.728] if (!identical(...future.workdir, getwd())) [18:01:19.728] setwd(...future.workdir) [18:01:19.728] { [18:01:19.728] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:19.728] ...future.oldOptions$nwarnings <- NULL [18:01:19.728] } [18:01:19.728] base::options(...future.oldOptions) [18:01:19.728] if (.Platform$OS.type == "windows") { [18:01:19.728] old_names <- names(...future.oldEnvVars) [18:01:19.728] envs <- base::Sys.getenv() [18:01:19.728] names <- names(envs) [18:01:19.728] common <- intersect(names, old_names) [18:01:19.728] added <- setdiff(names, old_names) [18:01:19.728] removed <- setdiff(old_names, names) [18:01:19.728] changed <- common[...future.oldEnvVars[common] != [18:01:19.728] envs[common]] [18:01:19.728] NAMES <- toupper(changed) [18:01:19.728] args <- list() [18:01:19.728] for (kk in seq_along(NAMES)) { [18:01:19.728] name <- changed[[kk]] [18:01:19.728] NAME <- NAMES[[kk]] [18:01:19.728] if (name != NAME && is.element(NAME, old_names)) [18:01:19.728] next [18:01:19.728] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:19.728] } [18:01:19.728] NAMES <- toupper(added) [18:01:19.728] for (kk in seq_along(NAMES)) { [18:01:19.728] name <- added[[kk]] [18:01:19.728] NAME <- NAMES[[kk]] [18:01:19.728] if (name != NAME && is.element(NAME, old_names)) [18:01:19.728] next [18:01:19.728] args[[name]] <- "" [18:01:19.728] } [18:01:19.728] NAMES <- toupper(removed) [18:01:19.728] for (kk in seq_along(NAMES)) { [18:01:19.728] name <- removed[[kk]] [18:01:19.728] NAME <- NAMES[[kk]] [18:01:19.728] if (name != NAME && is.element(NAME, old_names)) [18:01:19.728] next [18:01:19.728] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:19.728] } [18:01:19.728] if (length(args) > 0) [18:01:19.728] base::do.call(base::Sys.setenv, args = args) [18:01:19.728] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:19.728] } [18:01:19.728] else { [18:01:19.728] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:19.728] } [18:01:19.728] { [18:01:19.728] if (base::length(...future.futureOptionsAdded) > [18:01:19.728] 0L) { [18:01:19.728] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:19.728] base::names(opts) <- ...future.futureOptionsAdded [18:01:19.728] base::options(opts) [18:01:19.728] } [18:01:19.728] { [18:01:19.728] { [18:01:19.728] base::options(mc.cores = ...future.mc.cores.old) [18:01:19.728] NULL [18:01:19.728] } [18:01:19.728] options(future.plan = NULL) [18:01:19.728] if (is.na(NA_character_)) [18:01:19.728] Sys.unsetenv("R_FUTURE_PLAN") [18:01:19.728] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:19.728] future::plan(list(function (..., workers = availableCores(), [18:01:19.728] lazy = FALSE, rscript_libs = .libPaths(), [18:01:19.728] envir = parent.frame()) [18:01:19.728] { [18:01:19.728] if (is.function(workers)) [18:01:19.728] workers <- workers() [18:01:19.728] workers <- structure(as.integer(workers), [18:01:19.728] class = class(workers)) [18:01:19.728] stop_if_not(length(workers) == 1, is.finite(workers), [18:01:19.728] workers >= 1) [18:01:19.728] if (workers == 1L && !inherits(workers, "AsIs")) { [18:01:19.728] return(sequential(..., lazy = TRUE, envir = envir)) [18:01:19.728] } [18:01:19.728] future <- MultisessionFuture(..., workers = workers, [18:01:19.728] lazy = lazy, rscript_libs = rscript_libs, [18:01:19.728] envir = envir) [18:01:19.728] if (!future$lazy) [18:01:19.728] future <- run(future) [18:01:19.728] invisible(future) [18:01:19.728] }), .cleanup = FALSE, .init = FALSE) [18:01:19.728] } [18:01:19.728] } [18:01:19.728] } [18:01:19.728] }) [18:01:19.728] if (TRUE) { [18:01:19.728] base::sink(type = "output", split = FALSE) [18:01:19.728] if (TRUE) { [18:01:19.728] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:19.728] } [18:01:19.728] else { [18:01:19.728] ...future.result["stdout"] <- base::list(NULL) [18:01:19.728] } [18:01:19.728] base::close(...future.stdout) [18:01:19.728] ...future.stdout <- NULL [18:01:19.728] } [18:01:19.728] ...future.result$conditions <- ...future.conditions [18:01:19.728] ...future.result$finished <- base::Sys.time() [18:01:19.728] ...future.result [18:01:19.728] } [18:01:19.734] Exporting 4 global objects (14.24 KiB) to cluster node #1 ... [18:01:19.734] Exporting 'ii' (56 bytes) to cluster node #1 ... [18:01:19.734] Exporting 'ii' (56 bytes) to cluster node #1 ... DONE [18:01:19.734] Exporting 'n' (56 bytes) to cluster node #1 ... [18:01:19.735] Exporting 'n' (56 bytes) to cluster node #1 ... DONE [18:01:19.735] Exporting 'C' (10.72 KiB) to cluster node #1 ... [18:01:19.735] Exporting 'C' (10.72 KiB) to cluster node #1 ... DONE [18:01:19.736] Exporting 'delay' (3.41 KiB) to cluster node #1 ... [18:01:19.736] Exporting 'delay' (3.41 KiB) to cluster node #1 ... DONE [18:01:19.737] Exporting 4 global objects (14.24 KiB) to cluster node #1 ... DONE [18:01:19.737] MultisessionFuture started [18:01:19.738] - Launch lazy future ... done [18:01:19.738] run() for 'MultisessionFuture' ... done [18:01:19.738] - run() ... done [18:01:19.738] - resolved() ... [18:01:19.772] receiveMessageFromWorker() for ClusterFuture ... [18:01:19.772] - Validating connection of MultisessionFuture [18:01:19.773] - received message: FutureResult [18:01:19.773] - Received FutureResult [18:01:19.773] - Erased future from FutureRegistry [18:01:19.773] result() for ClusterFuture ... [18:01:19.774] - result already collected: FutureResult [18:01:19.774] result() for ClusterFuture ... done [18:01:19.774] signalConditions() ... [18:01:19.774] - include = 'immediateCondition' [18:01:19.774] - exclude = [18:01:19.774] - resignal = FALSE [18:01:19.774] - Number of conditions: 2 [18:01:19.775] signalConditions() ... done [18:01:19.775] receiveMessageFromWorker() for ClusterFuture ... done [18:01:19.775] - resolved: TRUE [18:01:19.775] - resolved() ... done [18:01:19.775] resolved() for 'MultisessionFuture' ... done Plotting tile #2 of 4 ... [18:01:19.776] result() for ClusterFuture ... [18:01:19.776] - result already collected: FutureResult [18:01:19.776] result() for ClusterFuture ... done [18:01:19.776] result() for ClusterFuture ... [18:01:19.776] - result already collected: FutureResult [18:01:19.776] result() for ClusterFuture ... done [18:01:19.777] signalConditions() ... [18:01:19.777] - include = 'immediateCondition' [18:01:19.777] - exclude = [18:01:19.777] - resignal = FALSE [18:01:19.777] - Number of conditions: 2 [18:01:19.777] signalConditions() ... done [18:01:19.778] Future state: 'finished' [18:01:19.778] result() for ClusterFuture ... [18:01:19.778] - result already collected: FutureResult [18:01:19.778] result() for ClusterFuture ... done [18:01:19.778] signalConditions() ... [18:01:19.778] - include = 'condition' [18:01:19.779] - exclude = 'immediateCondition' [18:01:19.779] - resignal = TRUE [18:01:19.779] - Number of conditions: 2 [18:01:19.779] - Condition #1: 'simpleMessage', 'message', 'condition' Calculating tile #2 of 4 ...[18:01:19.779] - Condition #2: 'simpleMessage', 'message', 'condition' done [18:01:19.780] signalConditions() ... done [18:01:19.780] resolved() for 'Future' ... [18:01:19.781] - state: 'created' [18:01:19.781] - run: TRUE [18:01:19.781] - run() ... [18:01:19.781] run() for 'Future' ... [18:01:19.781] - state: 'created' [18:01:19.781] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:01:19.796] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:01:19.796] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:01:19.796] - Field: 'node' [18:01:19.796] - Field: 'label' [18:01:19.796] - Field: 'local' [18:01:19.796] - Field: 'owner' [18:01:19.797] - Field: 'envir' [18:01:19.797] - Field: 'workers' [18:01:19.797] - Field: 'packages' [18:01:19.797] - Field: 'gc' [18:01:19.797] - Field: 'conditions' [18:01:19.798] - Field: 'persistent' [18:01:19.798] - Field: 'expr' [18:01:19.798] - Field: 'uuid' [18:01:19.798] - Field: 'seed' [18:01:19.798] - Field: 'version' [18:01:19.798] - Field: 'result' [18:01:19.799] - Field: 'asynchronous' [18:01:19.799] - Field: 'calls' [18:01:19.799] - Field: 'globals' [18:01:19.799] - Field: 'stdout' [18:01:19.799] - Field: 'earlySignal' [18:01:19.799] - Field: 'lazy' [18:01:19.800] - Field: 'state' [18:01:19.800] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:01:19.800] - Launch lazy future ... [18:01:19.800] Packages needed by the future expression (n = 1): 'future' [18:01:19.801] Packages needed by future strategies (n = 0): [18:01:19.801] { [18:01:19.801] { [18:01:19.801] { [18:01:19.801] ...future.startTime <- base::Sys.time() [18:01:19.801] { [18:01:19.801] { [18:01:19.801] { [18:01:19.801] { [18:01:19.801] { [18:01:19.801] base::local({ [18:01:19.801] has_future <- base::requireNamespace("future", [18:01:19.801] quietly = TRUE) [18:01:19.801] if (has_future) { [18:01:19.801] ns <- base::getNamespace("future") [18:01:19.801] version <- ns[[".package"]][["version"]] [18:01:19.801] if (is.null(version)) [18:01:19.801] version <- utils::packageVersion("future") [18:01:19.801] } [18:01:19.801] else { [18:01:19.801] version <- NULL [18:01:19.801] } [18:01:19.801] if (!has_future || version < "1.8.0") { [18:01:19.801] info <- base::c(r_version = base::gsub("R version ", [18:01:19.801] "", base::R.version$version.string), [18:01:19.801] platform = base::sprintf("%s (%s-bit)", [18:01:19.801] base::R.version$platform, 8 * [18:01:19.801] base::.Machine$sizeof.pointer), [18:01:19.801] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:19.801] "release", "version")], collapse = " "), [18:01:19.801] hostname = base::Sys.info()[["nodename"]]) [18:01:19.801] info <- base::sprintf("%s: %s", base::names(info), [18:01:19.801] info) [18:01:19.801] info <- base::paste(info, collapse = "; ") [18:01:19.801] if (!has_future) { [18:01:19.801] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:19.801] info) [18:01:19.801] } [18:01:19.801] else { [18:01:19.801] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:19.801] info, version) [18:01:19.801] } [18:01:19.801] base::stop(msg) [18:01:19.801] } [18:01:19.801] }) [18:01:19.801] } [18:01:19.801] ...future.mc.cores.old <- base::getOption("mc.cores") [18:01:19.801] base::options(mc.cores = 1L) [18:01:19.801] } [18:01:19.801] base::local({ [18:01:19.801] for (pkg in "future") { [18:01:19.801] base::loadNamespace(pkg) [18:01:19.801] base::library(pkg, character.only = TRUE) [18:01:19.801] } [18:01:19.801] }) [18:01:19.801] } [18:01:19.801] options(future.plan = NULL) [18:01:19.801] Sys.unsetenv("R_FUTURE_PLAN") [18:01:19.801] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:19.801] } [18:01:19.801] ...future.workdir <- getwd() [18:01:19.801] } [18:01:19.801] ...future.oldOptions <- base::as.list(base::.Options) [18:01:19.801] ...future.oldEnvVars <- base::Sys.getenv() [18:01:19.801] } [18:01:19.801] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:01:19.801] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:19.801] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:01:19.801] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:01:19.801] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:19.801] future.stdout.windows.reencode = NULL, width = 80L) [18:01:19.801] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:19.801] base::names(...future.oldOptions)) [18:01:19.801] } [18:01:19.801] if (FALSE) { [18:01:19.801] } [18:01:19.801] else { [18:01:19.801] if (TRUE) { [18:01:19.801] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:19.801] open = "w") [18:01:19.801] } [18:01:19.801] else { [18:01:19.801] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:19.801] windows = "NUL", "/dev/null"), open = "w") [18:01:19.801] } [18:01:19.801] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:19.801] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:19.801] base::sink(type = "output", split = FALSE) [18:01:19.801] base::close(...future.stdout) [18:01:19.801] }, add = TRUE) [18:01:19.801] } [18:01:19.801] ...future.frame <- base::sys.nframe() [18:01:19.801] ...future.conditions <- base::list() [18:01:19.801] ...future.rng <- base::globalenv()$.Random.seed [18:01:19.801] if (FALSE) { [18:01:19.801] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:19.801] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:19.801] } [18:01:19.801] ...future.result <- base::tryCatch({ [18:01:19.801] base::withCallingHandlers({ [18:01:19.801] ...future.value <- base::withVisible(base::local({ [18:01:19.801] ...future.makeSendCondition <- local({ [18:01:19.801] sendCondition <- NULL [18:01:19.801] function(frame = 1L) { [18:01:19.801] if (is.function(sendCondition)) [18:01:19.801] return(sendCondition) [18:01:19.801] ns <- getNamespace("parallel") [18:01:19.801] if (exists("sendData", mode = "function", [18:01:19.801] envir = ns)) { [18:01:19.801] parallel_sendData <- get("sendData", mode = "function", [18:01:19.801] envir = ns) [18:01:19.801] envir <- sys.frame(frame) [18:01:19.801] master <- NULL [18:01:19.801] while (!identical(envir, .GlobalEnv) && [18:01:19.801] !identical(envir, emptyenv())) { [18:01:19.801] if (exists("master", mode = "list", envir = envir, [18:01:19.801] inherits = FALSE)) { [18:01:19.801] master <- get("master", mode = "list", [18:01:19.801] envir = envir, inherits = FALSE) [18:01:19.801] if (inherits(master, c("SOCKnode", [18:01:19.801] "SOCK0node"))) { [18:01:19.801] sendCondition <<- function(cond) { [18:01:19.801] data <- list(type = "VALUE", value = cond, [18:01:19.801] success = TRUE) [18:01:19.801] parallel_sendData(master, data) [18:01:19.801] } [18:01:19.801] return(sendCondition) [18:01:19.801] } [18:01:19.801] } [18:01:19.801] frame <- frame + 1L [18:01:19.801] envir <- sys.frame(frame) [18:01:19.801] } [18:01:19.801] } [18:01:19.801] sendCondition <<- function(cond) NULL [18:01:19.801] } [18:01:19.801] }) [18:01:19.801] withCallingHandlers({ [18:01:19.801] { [18:01:19.801] message(sprintf("Calculating tile #%d of %d ...", [18:01:19.801] ii, n), appendLF = FALSE) [18:01:19.801] fit <- mandelbrot(C) [18:01:19.801] delay(fit) [18:01:19.801] message(" done") [18:01:19.801] fit [18:01:19.801] } [18:01:19.801] }, immediateCondition = function(cond) { [18:01:19.801] sendCondition <- ...future.makeSendCondition() [18:01:19.801] sendCondition(cond) [18:01:19.801] muffleCondition <- function (cond, pattern = "^muffle") [18:01:19.801] { [18:01:19.801] inherits <- base::inherits [18:01:19.801] invokeRestart <- base::invokeRestart [18:01:19.801] is.null <- base::is.null [18:01:19.801] muffled <- FALSE [18:01:19.801] if (inherits(cond, "message")) { [18:01:19.801] muffled <- grepl(pattern, "muffleMessage") [18:01:19.801] if (muffled) [18:01:19.801] invokeRestart("muffleMessage") [18:01:19.801] } [18:01:19.801] else if (inherits(cond, "warning")) { [18:01:19.801] muffled <- grepl(pattern, "muffleWarning") [18:01:19.801] if (muffled) [18:01:19.801] invokeRestart("muffleWarning") [18:01:19.801] } [18:01:19.801] else if (inherits(cond, "condition")) { [18:01:19.801] if (!is.null(pattern)) { [18:01:19.801] computeRestarts <- base::computeRestarts [18:01:19.801] grepl <- base::grepl [18:01:19.801] restarts <- computeRestarts(cond) [18:01:19.801] for (restart in restarts) { [18:01:19.801] name <- restart$name [18:01:19.801] if (is.null(name)) [18:01:19.801] next [18:01:19.801] if (!grepl(pattern, name)) [18:01:19.801] next [18:01:19.801] invokeRestart(restart) [18:01:19.801] muffled <- TRUE [18:01:19.801] break [18:01:19.801] } [18:01:19.801] } [18:01:19.801] } [18:01:19.801] invisible(muffled) [18:01:19.801] } [18:01:19.801] muffleCondition(cond) [18:01:19.801] }) [18:01:19.801] })) [18:01:19.801] future::FutureResult(value = ...future.value$value, [18:01:19.801] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:19.801] ...future.rng), globalenv = if (FALSE) [18:01:19.801] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:19.801] ...future.globalenv.names)) [18:01:19.801] else NULL, started = ...future.startTime, version = "1.8") [18:01:19.801] }, condition = base::local({ [18:01:19.801] c <- base::c [18:01:19.801] inherits <- base::inherits [18:01:19.801] invokeRestart <- base::invokeRestart [18:01:19.801] length <- base::length [18:01:19.801] list <- base::list [18:01:19.801] seq.int <- base::seq.int [18:01:19.801] signalCondition <- base::signalCondition [18:01:19.801] sys.calls <- base::sys.calls [18:01:19.801] `[[` <- base::`[[` [18:01:19.801] `+` <- base::`+` [18:01:19.801] `<<-` <- base::`<<-` [18:01:19.801] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:19.801] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:19.801] 3L)] [18:01:19.801] } [18:01:19.801] function(cond) { [18:01:19.801] is_error <- inherits(cond, "error") [18:01:19.801] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:19.801] NULL) [18:01:19.801] if (is_error) { [18:01:19.801] sessionInformation <- function() { [18:01:19.801] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:19.801] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:19.801] search = base::search(), system = base::Sys.info()) [18:01:19.801] } [18:01:19.801] ...future.conditions[[length(...future.conditions) + [18:01:19.801] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:19.801] cond$call), session = sessionInformation(), [18:01:19.801] timestamp = base::Sys.time(), signaled = 0L) [18:01:19.801] signalCondition(cond) [18:01:19.801] } [18:01:19.801] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:19.801] "immediateCondition"))) { [18:01:19.801] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:19.801] ...future.conditions[[length(...future.conditions) + [18:01:19.801] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:19.801] if (TRUE && !signal) { [18:01:19.801] muffleCondition <- function (cond, pattern = "^muffle") [18:01:19.801] { [18:01:19.801] inherits <- base::inherits [18:01:19.801] invokeRestart <- base::invokeRestart [18:01:19.801] is.null <- base::is.null [18:01:19.801] muffled <- FALSE [18:01:19.801] if (inherits(cond, "message")) { [18:01:19.801] muffled <- grepl(pattern, "muffleMessage") [18:01:19.801] if (muffled) [18:01:19.801] invokeRestart("muffleMessage") [18:01:19.801] } [18:01:19.801] else if (inherits(cond, "warning")) { [18:01:19.801] muffled <- grepl(pattern, "muffleWarning") [18:01:19.801] if (muffled) [18:01:19.801] invokeRestart("muffleWarning") [18:01:19.801] } [18:01:19.801] else if (inherits(cond, "condition")) { [18:01:19.801] if (!is.null(pattern)) { [18:01:19.801] computeRestarts <- base::computeRestarts [18:01:19.801] grepl <- base::grepl [18:01:19.801] restarts <- computeRestarts(cond) [18:01:19.801] for (restart in restarts) { [18:01:19.801] name <- restart$name [18:01:19.801] if (is.null(name)) [18:01:19.801] next [18:01:19.801] if (!grepl(pattern, name)) [18:01:19.801] next [18:01:19.801] invokeRestart(restart) [18:01:19.801] muffled <- TRUE [18:01:19.801] break [18:01:19.801] } [18:01:19.801] } [18:01:19.801] } [18:01:19.801] invisible(muffled) [18:01:19.801] } [18:01:19.801] muffleCondition(cond, pattern = "^muffle") [18:01:19.801] } [18:01:19.801] } [18:01:19.801] else { [18:01:19.801] if (TRUE) { [18:01:19.801] muffleCondition <- function (cond, pattern = "^muffle") [18:01:19.801] { [18:01:19.801] inherits <- base::inherits [18:01:19.801] invokeRestart <- base::invokeRestart [18:01:19.801] is.null <- base::is.null [18:01:19.801] muffled <- FALSE [18:01:19.801] if (inherits(cond, "message")) { [18:01:19.801] muffled <- grepl(pattern, "muffleMessage") [18:01:19.801] if (muffled) [18:01:19.801] invokeRestart("muffleMessage") [18:01:19.801] } [18:01:19.801] else if (inherits(cond, "warning")) { [18:01:19.801] muffled <- grepl(pattern, "muffleWarning") [18:01:19.801] if (muffled) [18:01:19.801] invokeRestart("muffleWarning") [18:01:19.801] } [18:01:19.801] else if (inherits(cond, "condition")) { [18:01:19.801] if (!is.null(pattern)) { [18:01:19.801] computeRestarts <- base::computeRestarts [18:01:19.801] grepl <- base::grepl [18:01:19.801] restarts <- computeRestarts(cond) [18:01:19.801] for (restart in restarts) { [18:01:19.801] name <- restart$name [18:01:19.801] if (is.null(name)) [18:01:19.801] next [18:01:19.801] if (!grepl(pattern, name)) [18:01:19.801] next [18:01:19.801] invokeRestart(restart) [18:01:19.801] muffled <- TRUE [18:01:19.801] break [18:01:19.801] } [18:01:19.801] } [18:01:19.801] } [18:01:19.801] invisible(muffled) [18:01:19.801] } [18:01:19.801] muffleCondition(cond, pattern = "^muffle") [18:01:19.801] } [18:01:19.801] } [18:01:19.801] } [18:01:19.801] })) [18:01:19.801] }, error = function(ex) { [18:01:19.801] base::structure(base::list(value = NULL, visible = NULL, [18:01:19.801] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:19.801] ...future.rng), started = ...future.startTime, [18:01:19.801] finished = Sys.time(), session_uuid = NA_character_, [18:01:19.801] version = "1.8"), class = "FutureResult") [18:01:19.801] }, finally = { [18:01:19.801] if (!identical(...future.workdir, getwd())) [18:01:19.801] setwd(...future.workdir) [18:01:19.801] { [18:01:19.801] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:19.801] ...future.oldOptions$nwarnings <- NULL [18:01:19.801] } [18:01:19.801] base::options(...future.oldOptions) [18:01:19.801] if (.Platform$OS.type == "windows") { [18:01:19.801] old_names <- names(...future.oldEnvVars) [18:01:19.801] envs <- base::Sys.getenv() [18:01:19.801] names <- names(envs) [18:01:19.801] common <- intersect(names, old_names) [18:01:19.801] added <- setdiff(names, old_names) [18:01:19.801] removed <- setdiff(old_names, names) [18:01:19.801] changed <- common[...future.oldEnvVars[common] != [18:01:19.801] envs[common]] [18:01:19.801] NAMES <- toupper(changed) [18:01:19.801] args <- list() [18:01:19.801] for (kk in seq_along(NAMES)) { [18:01:19.801] name <- changed[[kk]] [18:01:19.801] NAME <- NAMES[[kk]] [18:01:19.801] if (name != NAME && is.element(NAME, old_names)) [18:01:19.801] next [18:01:19.801] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:19.801] } [18:01:19.801] NAMES <- toupper(added) [18:01:19.801] for (kk in seq_along(NAMES)) { [18:01:19.801] name <- added[[kk]] [18:01:19.801] NAME <- NAMES[[kk]] [18:01:19.801] if (name != NAME && is.element(NAME, old_names)) [18:01:19.801] next [18:01:19.801] args[[name]] <- "" [18:01:19.801] } [18:01:19.801] NAMES <- toupper(removed) [18:01:19.801] for (kk in seq_along(NAMES)) { [18:01:19.801] name <- removed[[kk]] [18:01:19.801] NAME <- NAMES[[kk]] [18:01:19.801] if (name != NAME && is.element(NAME, old_names)) [18:01:19.801] next [18:01:19.801] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:19.801] } [18:01:19.801] if (length(args) > 0) [18:01:19.801] base::do.call(base::Sys.setenv, args = args) [18:01:19.801] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:19.801] } [18:01:19.801] else { [18:01:19.801] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:19.801] } [18:01:19.801] { [18:01:19.801] if (base::length(...future.futureOptionsAdded) > [18:01:19.801] 0L) { [18:01:19.801] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:19.801] base::names(opts) <- ...future.futureOptionsAdded [18:01:19.801] base::options(opts) [18:01:19.801] } [18:01:19.801] { [18:01:19.801] { [18:01:19.801] base::options(mc.cores = ...future.mc.cores.old) [18:01:19.801] NULL [18:01:19.801] } [18:01:19.801] options(future.plan = NULL) [18:01:19.801] if (is.na(NA_character_)) [18:01:19.801] Sys.unsetenv("R_FUTURE_PLAN") [18:01:19.801] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:19.801] future::plan(list(function (..., workers = availableCores(), [18:01:19.801] lazy = FALSE, rscript_libs = .libPaths(), [18:01:19.801] envir = parent.frame()) [18:01:19.801] { [18:01:19.801] if (is.function(workers)) [18:01:19.801] workers <- workers() [18:01:19.801] workers <- structure(as.integer(workers), [18:01:19.801] class = class(workers)) [18:01:19.801] stop_if_not(length(workers) == 1, is.finite(workers), [18:01:19.801] workers >= 1) [18:01:19.801] if (workers == 1L && !inherits(workers, "AsIs")) { [18:01:19.801] return(sequential(..., lazy = TRUE, envir = envir)) [18:01:19.801] } [18:01:19.801] future <- MultisessionFuture(..., workers = workers, [18:01:19.801] lazy = lazy, rscript_libs = rscript_libs, [18:01:19.801] envir = envir) [18:01:19.801] if (!future$lazy) [18:01:19.801] future <- run(future) [18:01:19.801] invisible(future) [18:01:19.801] }), .cleanup = FALSE, .init = FALSE) [18:01:19.801] } [18:01:19.801] } [18:01:19.801] } [18:01:19.801] }) [18:01:19.801] if (TRUE) { [18:01:19.801] base::sink(type = "output", split = FALSE) [18:01:19.801] if (TRUE) { [18:01:19.801] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:19.801] } [18:01:19.801] else { [18:01:19.801] ...future.result["stdout"] <- base::list(NULL) [18:01:19.801] } [18:01:19.801] base::close(...future.stdout) [18:01:19.801] ...future.stdout <- NULL [18:01:19.801] } [18:01:19.801] ...future.result$conditions <- ...future.conditions [18:01:19.801] ...future.result$finished <- base::Sys.time() [18:01:19.801] ...future.result [18:01:19.801] } [18:01:19.807] Exporting 4 global objects (14.24 KiB) to cluster node #1 ... [18:01:19.807] Exporting 'ii' (56 bytes) to cluster node #1 ... [18:01:19.807] Exporting 'ii' (56 bytes) to cluster node #1 ... DONE [18:01:19.808] Exporting 'n' (56 bytes) to cluster node #1 ... [18:01:19.808] Exporting 'n' (56 bytes) to cluster node #1 ... DONE [18:01:19.808] Exporting 'C' (10.72 KiB) to cluster node #1 ... [18:01:19.809] Exporting 'C' (10.72 KiB) to cluster node #1 ... DONE [18:01:19.809] Exporting 'delay' (3.41 KiB) to cluster node #1 ... [18:01:19.810] Exporting 'delay' (3.41 KiB) to cluster node #1 ... DONE [18:01:19.810] Exporting 4 global objects (14.24 KiB) to cluster node #1 ... DONE [18:01:19.811] MultisessionFuture started [18:01:19.811] - Launch lazy future ... done [18:01:19.811] run() for 'MultisessionFuture' ... done [18:01:19.811] - run() ... done [18:01:19.811] - resolved() ... [18:01:19.843] receiveMessageFromWorker() for ClusterFuture ... [18:01:19.843] - Validating connection of MultisessionFuture [18:01:19.844] - received message: FutureResult [18:01:19.844] - Received FutureResult [18:01:19.844] - Erased future from FutureRegistry [18:01:19.844] result() for ClusterFuture ... [18:01:19.845] - result already collected: FutureResult [18:01:19.845] result() for ClusterFuture ... done [18:01:19.845] signalConditions() ... [18:01:19.845] - include = 'immediateCondition' [18:01:19.845] - exclude = [18:01:19.845] - resignal = FALSE [18:01:19.846] - Number of conditions: 2 [18:01:19.846] signalConditions() ... done [18:01:19.846] receiveMessageFromWorker() for ClusterFuture ... done [18:01:19.846] - resolved: TRUE [18:01:19.846] - resolved() ... done [18:01:19.846] resolved() for 'MultisessionFuture' ... done Plotting tile #3 of 4 ... [18:01:19.847] result() for ClusterFuture ... [18:01:19.847] - result already collected: FutureResult [18:01:19.847] result() for ClusterFuture ... done [18:01:19.847] result() for ClusterFuture ... [18:01:19.847] - result already collected: FutureResult [18:01:19.847] result() for ClusterFuture ... done [18:01:19.848] signalConditions() ... [18:01:19.848] - include = 'immediateCondition' [18:01:19.853] - exclude = [18:01:19.853] - resignal = FALSE [18:01:19.853] - Number of conditions: 2 [18:01:19.853] signalConditions() ... done [18:01:19.853] Future state: 'finished' [18:01:19.853] result() for ClusterFuture ... [18:01:19.854] - result already collected: FutureResult [18:01:19.854] result() for ClusterFuture ... done [18:01:19.854] signalConditions() ... [18:01:19.854] - include = 'condition' [18:01:19.854] - exclude = 'immediateCondition' [18:01:19.854] - resignal = TRUE [18:01:19.855] - Number of conditions: 2 [18:01:19.855] - Condition #1: 'simpleMessage', 'message', 'condition' Calculating tile #3 of 4 ...[18:01:19.855] - Condition #2: 'simpleMessage', 'message', 'condition' done [18:01:19.855] signalConditions() ... done [18:01:19.856] resolved() for 'Future' ... [18:01:19.856] - state: 'created' [18:01:19.856] - run: TRUE [18:01:19.856] - run() ... [18:01:19.857] run() for 'Future' ... [18:01:19.857] - state: 'created' [18:01:19.857] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:01:19.872] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:01:19.872] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:01:19.872] - Field: 'node' [18:01:19.872] - Field: 'label' [18:01:19.873] - Field: 'local' [18:01:19.873] - Field: 'owner' [18:01:19.873] - Field: 'envir' [18:01:19.873] - Field: 'workers' [18:01:19.874] - Field: 'packages' [18:01:19.874] - Field: 'gc' [18:01:19.874] - Field: 'conditions' [18:01:19.874] - Field: 'persistent' [18:01:19.875] - Field: 'expr' [18:01:19.875] - Field: 'uuid' [18:01:19.875] - Field: 'seed' [18:01:19.875] - Field: 'version' [18:01:19.876] - Field: 'result' [18:01:19.876] - Field: 'asynchronous' [18:01:19.876] - Field: 'calls' [18:01:19.876] - Field: 'globals' [18:01:19.876] - Field: 'stdout' [18:01:19.877] - Field: 'earlySignal' [18:01:19.877] - Field: 'lazy' [18:01:19.877] - Field: 'state' [18:01:19.877] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:01:19.878] - Launch lazy future ... [18:01:19.878] Packages needed by the future expression (n = 1): 'future' [18:01:19.878] Packages needed by future strategies (n = 0): [18:01:19.879] { [18:01:19.879] { [18:01:19.879] { [18:01:19.879] ...future.startTime <- base::Sys.time() [18:01:19.879] { [18:01:19.879] { [18:01:19.879] { [18:01:19.879] { [18:01:19.879] { [18:01:19.879] base::local({ [18:01:19.879] has_future <- base::requireNamespace("future", [18:01:19.879] quietly = TRUE) [18:01:19.879] if (has_future) { [18:01:19.879] ns <- base::getNamespace("future") [18:01:19.879] version <- ns[[".package"]][["version"]] [18:01:19.879] if (is.null(version)) [18:01:19.879] version <- utils::packageVersion("future") [18:01:19.879] } [18:01:19.879] else { [18:01:19.879] version <- NULL [18:01:19.879] } [18:01:19.879] if (!has_future || version < "1.8.0") { [18:01:19.879] info <- base::c(r_version = base::gsub("R version ", [18:01:19.879] "", base::R.version$version.string), [18:01:19.879] platform = base::sprintf("%s (%s-bit)", [18:01:19.879] base::R.version$platform, 8 * [18:01:19.879] base::.Machine$sizeof.pointer), [18:01:19.879] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:19.879] "release", "version")], collapse = " "), [18:01:19.879] hostname = base::Sys.info()[["nodename"]]) [18:01:19.879] info <- base::sprintf("%s: %s", base::names(info), [18:01:19.879] info) [18:01:19.879] info <- base::paste(info, collapse = "; ") [18:01:19.879] if (!has_future) { [18:01:19.879] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:19.879] info) [18:01:19.879] } [18:01:19.879] else { [18:01:19.879] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:19.879] info, version) [18:01:19.879] } [18:01:19.879] base::stop(msg) [18:01:19.879] } [18:01:19.879] }) [18:01:19.879] } [18:01:19.879] ...future.mc.cores.old <- base::getOption("mc.cores") [18:01:19.879] base::options(mc.cores = 1L) [18:01:19.879] } [18:01:19.879] base::local({ [18:01:19.879] for (pkg in "future") { [18:01:19.879] base::loadNamespace(pkg) [18:01:19.879] base::library(pkg, character.only = TRUE) [18:01:19.879] } [18:01:19.879] }) [18:01:19.879] } [18:01:19.879] options(future.plan = NULL) [18:01:19.879] Sys.unsetenv("R_FUTURE_PLAN") [18:01:19.879] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:19.879] } [18:01:19.879] ...future.workdir <- getwd() [18:01:19.879] } [18:01:19.879] ...future.oldOptions <- base::as.list(base::.Options) [18:01:19.879] ...future.oldEnvVars <- base::Sys.getenv() [18:01:19.879] } [18:01:19.879] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:01:19.879] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:19.879] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:01:19.879] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:01:19.879] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:19.879] future.stdout.windows.reencode = NULL, width = 80L) [18:01:19.879] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:19.879] base::names(...future.oldOptions)) [18:01:19.879] } [18:01:19.879] if (FALSE) { [18:01:19.879] } [18:01:19.879] else { [18:01:19.879] if (TRUE) { [18:01:19.879] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:19.879] open = "w") [18:01:19.879] } [18:01:19.879] else { [18:01:19.879] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:19.879] windows = "NUL", "/dev/null"), open = "w") [18:01:19.879] } [18:01:19.879] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:19.879] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:19.879] base::sink(type = "output", split = FALSE) [18:01:19.879] base::close(...future.stdout) [18:01:19.879] }, add = TRUE) [18:01:19.879] } [18:01:19.879] ...future.frame <- base::sys.nframe() [18:01:19.879] ...future.conditions <- base::list() [18:01:19.879] ...future.rng <- base::globalenv()$.Random.seed [18:01:19.879] if (FALSE) { [18:01:19.879] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:19.879] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:19.879] } [18:01:19.879] ...future.result <- base::tryCatch({ [18:01:19.879] base::withCallingHandlers({ [18:01:19.879] ...future.value <- base::withVisible(base::local({ [18:01:19.879] ...future.makeSendCondition <- local({ [18:01:19.879] sendCondition <- NULL [18:01:19.879] function(frame = 1L) { [18:01:19.879] if (is.function(sendCondition)) [18:01:19.879] return(sendCondition) [18:01:19.879] ns <- getNamespace("parallel") [18:01:19.879] if (exists("sendData", mode = "function", [18:01:19.879] envir = ns)) { [18:01:19.879] parallel_sendData <- get("sendData", mode = "function", [18:01:19.879] envir = ns) [18:01:19.879] envir <- sys.frame(frame) [18:01:19.879] master <- NULL [18:01:19.879] while (!identical(envir, .GlobalEnv) && [18:01:19.879] !identical(envir, emptyenv())) { [18:01:19.879] if (exists("master", mode = "list", envir = envir, [18:01:19.879] inherits = FALSE)) { [18:01:19.879] master <- get("master", mode = "list", [18:01:19.879] envir = envir, inherits = FALSE) [18:01:19.879] if (inherits(master, c("SOCKnode", [18:01:19.879] "SOCK0node"))) { [18:01:19.879] sendCondition <<- function(cond) { [18:01:19.879] data <- list(type = "VALUE", value = cond, [18:01:19.879] success = TRUE) [18:01:19.879] parallel_sendData(master, data) [18:01:19.879] } [18:01:19.879] return(sendCondition) [18:01:19.879] } [18:01:19.879] } [18:01:19.879] frame <- frame + 1L [18:01:19.879] envir <- sys.frame(frame) [18:01:19.879] } [18:01:19.879] } [18:01:19.879] sendCondition <<- function(cond) NULL [18:01:19.879] } [18:01:19.879] }) [18:01:19.879] withCallingHandlers({ [18:01:19.879] { [18:01:19.879] message(sprintf("Calculating tile #%d of %d ...", [18:01:19.879] ii, n), appendLF = FALSE) [18:01:19.879] fit <- mandelbrot(C) [18:01:19.879] delay(fit) [18:01:19.879] message(" done") [18:01:19.879] fit [18:01:19.879] } [18:01:19.879] }, immediateCondition = function(cond) { [18:01:19.879] sendCondition <- ...future.makeSendCondition() [18:01:19.879] sendCondition(cond) [18:01:19.879] muffleCondition <- function (cond, pattern = "^muffle") [18:01:19.879] { [18:01:19.879] inherits <- base::inherits [18:01:19.879] invokeRestart <- base::invokeRestart [18:01:19.879] is.null <- base::is.null [18:01:19.879] muffled <- FALSE [18:01:19.879] if (inherits(cond, "message")) { [18:01:19.879] muffled <- grepl(pattern, "muffleMessage") [18:01:19.879] if (muffled) [18:01:19.879] invokeRestart("muffleMessage") [18:01:19.879] } [18:01:19.879] else if (inherits(cond, "warning")) { [18:01:19.879] muffled <- grepl(pattern, "muffleWarning") [18:01:19.879] if (muffled) [18:01:19.879] invokeRestart("muffleWarning") [18:01:19.879] } [18:01:19.879] else if (inherits(cond, "condition")) { [18:01:19.879] if (!is.null(pattern)) { [18:01:19.879] computeRestarts <- base::computeRestarts [18:01:19.879] grepl <- base::grepl [18:01:19.879] restarts <- computeRestarts(cond) [18:01:19.879] for (restart in restarts) { [18:01:19.879] name <- restart$name [18:01:19.879] if (is.null(name)) [18:01:19.879] next [18:01:19.879] if (!grepl(pattern, name)) [18:01:19.879] next [18:01:19.879] invokeRestart(restart) [18:01:19.879] muffled <- TRUE [18:01:19.879] break [18:01:19.879] } [18:01:19.879] } [18:01:19.879] } [18:01:19.879] invisible(muffled) [18:01:19.879] } [18:01:19.879] muffleCondition(cond) [18:01:19.879] }) [18:01:19.879] })) [18:01:19.879] future::FutureResult(value = ...future.value$value, [18:01:19.879] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:19.879] ...future.rng), globalenv = if (FALSE) [18:01:19.879] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:19.879] ...future.globalenv.names)) [18:01:19.879] else NULL, started = ...future.startTime, version = "1.8") [18:01:19.879] }, condition = base::local({ [18:01:19.879] c <- base::c [18:01:19.879] inherits <- base::inherits [18:01:19.879] invokeRestart <- base::invokeRestart [18:01:19.879] length <- base::length [18:01:19.879] list <- base::list [18:01:19.879] seq.int <- base::seq.int [18:01:19.879] signalCondition <- base::signalCondition [18:01:19.879] sys.calls <- base::sys.calls [18:01:19.879] `[[` <- base::`[[` [18:01:19.879] `+` <- base::`+` [18:01:19.879] `<<-` <- base::`<<-` [18:01:19.879] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:19.879] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:19.879] 3L)] [18:01:19.879] } [18:01:19.879] function(cond) { [18:01:19.879] is_error <- inherits(cond, "error") [18:01:19.879] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:19.879] NULL) [18:01:19.879] if (is_error) { [18:01:19.879] sessionInformation <- function() { [18:01:19.879] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:19.879] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:19.879] search = base::search(), system = base::Sys.info()) [18:01:19.879] } [18:01:19.879] ...future.conditions[[length(...future.conditions) + [18:01:19.879] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:19.879] cond$call), session = sessionInformation(), [18:01:19.879] timestamp = base::Sys.time(), signaled = 0L) [18:01:19.879] signalCondition(cond) [18:01:19.879] } [18:01:19.879] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:19.879] "immediateCondition"))) { [18:01:19.879] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:19.879] ...future.conditions[[length(...future.conditions) + [18:01:19.879] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:19.879] if (TRUE && !signal) { [18:01:19.879] muffleCondition <- function (cond, pattern = "^muffle") [18:01:19.879] { [18:01:19.879] inherits <- base::inherits [18:01:19.879] invokeRestart <- base::invokeRestart [18:01:19.879] is.null <- base::is.null [18:01:19.879] muffled <- FALSE [18:01:19.879] if (inherits(cond, "message")) { [18:01:19.879] muffled <- grepl(pattern, "muffleMessage") [18:01:19.879] if (muffled) [18:01:19.879] invokeRestart("muffleMessage") [18:01:19.879] } [18:01:19.879] else if (inherits(cond, "warning")) { [18:01:19.879] muffled <- grepl(pattern, "muffleWarning") [18:01:19.879] if (muffled) [18:01:19.879] invokeRestart("muffleWarning") [18:01:19.879] } [18:01:19.879] else if (inherits(cond, "condition")) { [18:01:19.879] if (!is.null(pattern)) { [18:01:19.879] computeRestarts <- base::computeRestarts [18:01:19.879] grepl <- base::grepl [18:01:19.879] restarts <- computeRestarts(cond) [18:01:19.879] for (restart in restarts) { [18:01:19.879] name <- restart$name [18:01:19.879] if (is.null(name)) [18:01:19.879] next [18:01:19.879] if (!grepl(pattern, name)) [18:01:19.879] next [18:01:19.879] invokeRestart(restart) [18:01:19.879] muffled <- TRUE [18:01:19.879] break [18:01:19.879] } [18:01:19.879] } [18:01:19.879] } [18:01:19.879] invisible(muffled) [18:01:19.879] } [18:01:19.879] muffleCondition(cond, pattern = "^muffle") [18:01:19.879] } [18:01:19.879] } [18:01:19.879] else { [18:01:19.879] if (TRUE) { [18:01:19.879] muffleCondition <- function (cond, pattern = "^muffle") [18:01:19.879] { [18:01:19.879] inherits <- base::inherits [18:01:19.879] invokeRestart <- base::invokeRestart [18:01:19.879] is.null <- base::is.null [18:01:19.879] muffled <- FALSE [18:01:19.879] if (inherits(cond, "message")) { [18:01:19.879] muffled <- grepl(pattern, "muffleMessage") [18:01:19.879] if (muffled) [18:01:19.879] invokeRestart("muffleMessage") [18:01:19.879] } [18:01:19.879] else if (inherits(cond, "warning")) { [18:01:19.879] muffled <- grepl(pattern, "muffleWarning") [18:01:19.879] if (muffled) [18:01:19.879] invokeRestart("muffleWarning") [18:01:19.879] } [18:01:19.879] else if (inherits(cond, "condition")) { [18:01:19.879] if (!is.null(pattern)) { [18:01:19.879] computeRestarts <- base::computeRestarts [18:01:19.879] grepl <- base::grepl [18:01:19.879] restarts <- computeRestarts(cond) [18:01:19.879] for (restart in restarts) { [18:01:19.879] name <- restart$name [18:01:19.879] if (is.null(name)) [18:01:19.879] next [18:01:19.879] if (!grepl(pattern, name)) [18:01:19.879] next [18:01:19.879] invokeRestart(restart) [18:01:19.879] muffled <- TRUE [18:01:19.879] break [18:01:19.879] } [18:01:19.879] } [18:01:19.879] } [18:01:19.879] invisible(muffled) [18:01:19.879] } [18:01:19.879] muffleCondition(cond, pattern = "^muffle") [18:01:19.879] } [18:01:19.879] } [18:01:19.879] } [18:01:19.879] })) [18:01:19.879] }, error = function(ex) { [18:01:19.879] base::structure(base::list(value = NULL, visible = NULL, [18:01:19.879] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:19.879] ...future.rng), started = ...future.startTime, [18:01:19.879] finished = Sys.time(), session_uuid = NA_character_, [18:01:19.879] version = "1.8"), class = "FutureResult") [18:01:19.879] }, finally = { [18:01:19.879] if (!identical(...future.workdir, getwd())) [18:01:19.879] setwd(...future.workdir) [18:01:19.879] { [18:01:19.879] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:19.879] ...future.oldOptions$nwarnings <- NULL [18:01:19.879] } [18:01:19.879] base::options(...future.oldOptions) [18:01:19.879] if (.Platform$OS.type == "windows") { [18:01:19.879] old_names <- names(...future.oldEnvVars) [18:01:19.879] envs <- base::Sys.getenv() [18:01:19.879] names <- names(envs) [18:01:19.879] common <- intersect(names, old_names) [18:01:19.879] added <- setdiff(names, old_names) [18:01:19.879] removed <- setdiff(old_names, names) [18:01:19.879] changed <- common[...future.oldEnvVars[common] != [18:01:19.879] envs[common]] [18:01:19.879] NAMES <- toupper(changed) [18:01:19.879] args <- list() [18:01:19.879] for (kk in seq_along(NAMES)) { [18:01:19.879] name <- changed[[kk]] [18:01:19.879] NAME <- NAMES[[kk]] [18:01:19.879] if (name != NAME && is.element(NAME, old_names)) [18:01:19.879] next [18:01:19.879] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:19.879] } [18:01:19.879] NAMES <- toupper(added) [18:01:19.879] for (kk in seq_along(NAMES)) { [18:01:19.879] name <- added[[kk]] [18:01:19.879] NAME <- NAMES[[kk]] [18:01:19.879] if (name != NAME && is.element(NAME, old_names)) [18:01:19.879] next [18:01:19.879] args[[name]] <- "" [18:01:19.879] } [18:01:19.879] NAMES <- toupper(removed) [18:01:19.879] for (kk in seq_along(NAMES)) { [18:01:19.879] name <- removed[[kk]] [18:01:19.879] NAME <- NAMES[[kk]] [18:01:19.879] if (name != NAME && is.element(NAME, old_names)) [18:01:19.879] next [18:01:19.879] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:19.879] } [18:01:19.879] if (length(args) > 0) [18:01:19.879] base::do.call(base::Sys.setenv, args = args) [18:01:19.879] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:19.879] } [18:01:19.879] else { [18:01:19.879] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:19.879] } [18:01:19.879] { [18:01:19.879] if (base::length(...future.futureOptionsAdded) > [18:01:19.879] 0L) { [18:01:19.879] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:19.879] base::names(opts) <- ...future.futureOptionsAdded [18:01:19.879] base::options(opts) [18:01:19.879] } [18:01:19.879] { [18:01:19.879] { [18:01:19.879] base::options(mc.cores = ...future.mc.cores.old) [18:01:19.879] NULL [18:01:19.879] } [18:01:19.879] options(future.plan = NULL) [18:01:19.879] if (is.na(NA_character_)) [18:01:19.879] Sys.unsetenv("R_FUTURE_PLAN") [18:01:19.879] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:19.879] future::plan(list(function (..., workers = availableCores(), [18:01:19.879] lazy = FALSE, rscript_libs = .libPaths(), [18:01:19.879] envir = parent.frame()) [18:01:19.879] { [18:01:19.879] if (is.function(workers)) [18:01:19.879] workers <- workers() [18:01:19.879] workers <- structure(as.integer(workers), [18:01:19.879] class = class(workers)) [18:01:19.879] stop_if_not(length(workers) == 1, is.finite(workers), [18:01:19.879] workers >= 1) [18:01:19.879] if (workers == 1L && !inherits(workers, "AsIs")) { [18:01:19.879] return(sequential(..., lazy = TRUE, envir = envir)) [18:01:19.879] } [18:01:19.879] future <- MultisessionFuture(..., workers = workers, [18:01:19.879] lazy = lazy, rscript_libs = rscript_libs, [18:01:19.879] envir = envir) [18:01:19.879] if (!future$lazy) [18:01:19.879] future <- run(future) [18:01:19.879] invisible(future) [18:01:19.879] }), .cleanup = FALSE, .init = FALSE) [18:01:19.879] } [18:01:19.879] } [18:01:19.879] } [18:01:19.879] }) [18:01:19.879] if (TRUE) { [18:01:19.879] base::sink(type = "output", split = FALSE) [18:01:19.879] if (TRUE) { [18:01:19.879] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:19.879] } [18:01:19.879] else { [18:01:19.879] ...future.result["stdout"] <- base::list(NULL) [18:01:19.879] } [18:01:19.879] base::close(...future.stdout) [18:01:19.879] ...future.stdout <- NULL [18:01:19.879] } [18:01:19.879] ...future.result$conditions <- ...future.conditions [18:01:19.879] ...future.result$finished <- base::Sys.time() [18:01:19.879] ...future.result [18:01:19.879] } [18:01:19.885] Exporting 4 global objects (14.24 KiB) to cluster node #1 ... [18:01:19.885] Exporting 'ii' (56 bytes) to cluster node #1 ... [18:01:19.886] Exporting 'ii' (56 bytes) to cluster node #1 ... DONE [18:01:19.886] Exporting 'n' (56 bytes) to cluster node #1 ... [18:01:19.887] Exporting 'n' (56 bytes) to cluster node #1 ... DONE [18:01:19.887] Exporting 'C' (10.72 KiB) to cluster node #1 ... [18:01:19.887] Exporting 'C' (10.72 KiB) to cluster node #1 ... DONE [18:01:19.887] Exporting 'delay' (3.41 KiB) to cluster node #1 ... [18:01:19.888] Exporting 'delay' (3.41 KiB) to cluster node #1 ... DONE [18:01:19.888] Exporting 4 global objects (14.24 KiB) to cluster node #1 ... DONE [18:01:19.889] MultisessionFuture started [18:01:19.889] - Launch lazy future ... done [18:01:19.890] run() for 'MultisessionFuture' ... done [18:01:19.890] - run() ... done [18:01:19.890] - resolved() ... [18:01:19.924] receiveMessageFromWorker() for ClusterFuture ... [18:01:19.924] - Validating connection of MultisessionFuture [18:01:19.924] - received message: FutureResult [18:01:19.925] - Received FutureResult [18:01:19.925] - Erased future from FutureRegistry [18:01:19.925] result() for ClusterFuture ... [18:01:19.925] - result already collected: FutureResult [18:01:19.925] result() for ClusterFuture ... done [18:01:19.925] signalConditions() ... [18:01:19.925] - include = 'immediateCondition' [18:01:19.926] - exclude = [18:01:19.926] - resignal = FALSE [18:01:19.926] - Number of conditions: 2 [18:01:19.926] signalConditions() ... done [18:01:19.926] receiveMessageFromWorker() for ClusterFuture ... done [18:01:19.926] - resolved: TRUE [18:01:19.927] - resolved() ... done [18:01:19.927] resolved() for 'MultisessionFuture' ... done Plotting tile #4 of 4 ... [18:01:19.927] result() for ClusterFuture ... [18:01:19.927] - result already collected: FutureResult [18:01:19.927] result() for ClusterFuture ... done [18:01:19.928] result() for ClusterFuture ... [18:01:19.928] - result already collected: FutureResult [18:01:19.928] result() for ClusterFuture ... done [18:01:19.928] signalConditions() ... [18:01:19.928] - include = 'immediateCondition' [18:01:19.928] - exclude = [18:01:19.928] - resignal = FALSE [18:01:19.929] - Number of conditions: 2 [18:01:19.929] signalConditions() ... done [18:01:19.929] Future state: 'finished' [18:01:19.929] result() for ClusterFuture ... [18:01:19.929] - result already collected: FutureResult [18:01:19.929] result() for ClusterFuture ... done [18:01:19.930] signalConditions() ... [18:01:19.930] - include = 'condition' [18:01:19.930] - exclude = 'immediateCondition' [18:01:19.930] - resignal = TRUE [18:01:19.930] - Number of conditions: 2 [18:01:19.930] - Condition #1: 'simpleMessage', 'message', 'condition' Calculating tile #4 of 4 ...[18:01:19.931] - Condition #2: 'simpleMessage', 'message', 'condition' done [18:01:19.931] 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") [18:01:19.933] plan(): Setting new future strategy stack: [18:01:19.934] List of future strategies: [18:01:19.934] 1. sequential: [18:01:19.934] - args: function (..., envir = parent.frame()) [18:01:19.934] - tweaked: FALSE [18:01:19.934] - call: future::plan("sequential") [18:01:19.934] plan(): nbrOfWorkers() = 1 Failed to undo environment variables: - Expected environment variables: [n=201] '!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', 'OMP_THREAD_LIMIT', 'OS', 'PATH', 'PATHEXT', 'PROCESSOR_ARCHITECTURE', 'PROCESSOR_IDENTIFIER', 'PROCESSOR_LEVEL', 'PROCESSOR_REVISION', 'PROGRAMFILES', 'PROMPT', 'PSModulePath', 'PUBLIC', 'PWD', 'ProgramData', 'ProgramFiles(x86)', 'ProgramW6432', 'RETICULATE_AUTOCONFIGURE', 'RTOOLS43_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_RTOOLS43_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_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_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_SUBDIRS_STRICT_', '_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_USE_ALIASES_FROM_CRAN_', '_R_CLASS_MATRIX_ARRAY_', '_R_INSTALL_TIME_PATCHES_', '_R_S3_METHOD_LOOKUP_BASEENV_AFTER_GLOBALENV_', '_R_SHLIB_BUILD_OBJECTS_SYMBOL_TABLES_', '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 4.50 0.23 5.62