bplapply() et al. returns RngFutureError:s rather than signals them
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 45/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- r
調査の方向性
まず、bplapply()、FutureParam()、および future.rng.onMisuse を "error" または "warning" に設定して例を再現します。RngFutureError と RngFutureWarning がどのように処理されるかを追跡し、その後、エラーが通知され、警告が出力され、既存の期待されるメッセージが保持されることを確認します。
索引モデルが issue の本文から書いたものです。
説明
library(BiocParallel.FutureParam)
register(FutureParam())
options(future.rng.onMisuse = "error")
y <- bplapply(1:2, rnorm)
> str(y)
List of 2
$ :List of 2
..$ message: chr "UNRELIABLE VALUE: Future ('<none>') unexpectedly generated random numbers without specifying argument 'seed'. T"| __truncated__
..$ call : NULL
..- attr(*, "class")= chr [1:6] "RngFutureError" "FutureError" "error" "RngFutureCondition" ...
..- attr(*, "future")=Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' <environment: 0x56148257c1b0>
$ :List of 2
..$ message: chr "UNRELIABLE VALUE: Future ('<none>') unexpectedly generated random numbers without specifying argument 'seed'. T"| __truncated__
..$ call : NULL
..- attr(*, "class")= chr [1:6] "RngFutureError" "FutureError" "error" "RngFutureCondition" ...
..- attr(*, "future")=Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' <environment: 0x56148279f320>
The expected behavior should be:
y <- bplapply(1:2, rnorm)
Error: 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".
Similarly, with RngFutureWarning:s, we would expect:
library(BiocParallel.FutureParam)
register(FutureParam())
options(future.rng.onMisuse = "warning") # default
y <- bplapply(1:2, rnorm)
Warning: 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".
but right now those warnings are muffled and never signaled.
- 主要言語
- Makefile
- スター
- 7
- フォーク
- 4
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
futureverse/BiocParallel.FutureParam のほかの issue
-
enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
futureverse/BiocParallel.FutureParam#1 · コメント 2 件 ·
futureverse/BiocParallel.FutureParam の issue をすべて見る
似ている issue
-
bug P2 reliability workers
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
afreidah/s3-orchestrator#1563 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
ergoplatform/ergo#2579 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
apache/incubator-seata#8263 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
apache/incubator-seata-go#1201 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信