teal icon indicating copy to clipboard operation
teal copied to clipboard

[Bug]: `future` warning

Open chlebowa opened this issue 8 months ago • 4 comments

What happened?

After creating an app with init, a future-related warning is raised whn evaluating another expression after a while, but not immediately. Most liekly when the teal_app.lock file is created.

example
> library(teal)
Loading required package: shiny
Loading required package: teal.data
Loading required package: teal.code
Loading required package: teal.slice
Registered S3 method overwritten by 'teal':
  method        from
  c.teal_slices teal.slice

You are using teal version 0.15.2.9045

Attaching package: 'teal'

The following objects are masked from 'package:teal.slice':

    as.teal_slices, teal_slices

> data <- teal_data() |>
+   within(iris <- iris) |>
+   within(mtcars <- mtcars)
> datanames(data) <- c("iris", "mtcars")
> modules <- modules(
+   example_module("Example One"),
+   example_module("Example Two", "mtcars")
+ )
> filter <- teal_slices(
+   teal_slice("iris", "Species", choices = c("virginica", "versicolor"), sele$
+   teal_slice("mtcars", "cyl", selected = 6),
+   module_specific = TRUE,
+   mapping = list(
+     "Example Two" = "mtcars cyl",
+     "global_filters" = "iris Species"
+   )
+ )
> app <- init(data, modules, filter)
> head(letters)
[1] "a" "b" "c" "d" "e" "f"
> Sys.sleep(30)
> head(letters)
[1] "a" "b" "c" "d" "e" "f"
Warning message:
UNRELIABLE VALUE: Future ('<none>') unexpectedly generated random numbers without specifying 
argument 'seed'. There is a risk that those random numbers are not statistically sound and the overall results might be invalid. To fix this, specify 'seed=TRUE'. This ensures that proper, parallel-safe random numbers are produced via the L'Ecuyer-CMRG method. To disable this check, use 'seed=NULL', or set option 'future.rng.onMisuse' to "ignore".
> 

30 seconds is sufficient on my machine but it may take longer (e.g. in my Posit Connect environment).

sessionInfo()

> packageVersion("teal")
[1] ‘0.15.2.9045’

Relevant log output

Warning message:
UNRELIABLE VALUE: Future ('<none>') unexpectedly generated random numbers without specifying 
argument 'seed'. There is a risk that those random numbers are not statistically sound and the overall results might be invalid. To fix this, specify 'seed=TRUE'. This ensures that proper, parallel-safe random numbers are produced via the L'Ecuyer-CMRG method. To disable this check, use 'seed=NULL', or set option 'future.rng.onMisuse' to "ignore".

Code of Conduct

  • [X] I agree to follow this project's Code of Conduct.

Contribution Guidelines

  • [X] I agree to follow this project's Contribution Guidelines.

Security Policy

  • [X] I agree to follow this project's Security Policy.

chlebowa avatar Jun 25 '24 09:06 chlebowa