Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

bplapply() et al. returns RngFutureError:s rather than signals them

オープン
#5 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
r

調査の方向性

まず、bplapply()、FutureParam()、および future.rng.onMisuse を "error" または "warning" に設定して例を再現します。RngFutureError と RngFutureWarning がどのように処理されるかを追跡し、その後、エラーが通知され、警告が出力され、既存の期待されるメッセージが保持されることを確認します。

索引モデルが issue の本文から書いたものです。

説明

bug
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 はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

futureverse/BiocParallel.FutureParam のほかの issue

futureverse/BiocParallel.FutureParam の issue をすべて見る

似ている issue

Distributed Systems の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。