ruby-trunk-changes 2022-02-14

今日は RGenGC の検証用のデバッグビルドでの assertion で異常終了することがあった不具合の修正などがありました。

[8e0899919b] Koichi Sasada 2022-02-14 05:50:01 UTC

bootstraptest の別 Thread での IO#<< の書き込みの結果を読むテストのタイムアウトを 1秒から 5秒に伸ばしています。 MJIT が有効なビルドだと環境によってはオーバーヘッドで時間がかかることがあったようです。

[838031170c] git 2022-02-14 05:52:39 UTC

version.h の日付更新

[76e594d515] Koichi Sasada 2022-02-14 07:10:18 UTC

RGENGC_CHECK_MODE を 2以上にしてビルドした時に rb_bug() で異常終了することがあった不具合を修正しています。 gc_verify_internal_consistency() を呼び出すタイミングを gc_sweep_finish() から gc_exit() の最後に移動しています。また rb_objspace_reachable_objects_from() 内で RB_VM_LOCK_ENTER()/RB_VM_LOCK_LEAVE() で複数 Ractor で同時に処理しないようロックを取るようにしています。 during_gc の状態チェックで rb_bug() で異常終了しないようにするためだそうです。