今日は主に拡張ライブラリ stringio の不具合修正や複数 Ractor 利用時のデッドロックの可能性があった不具合の修正などがありました。
[0b30cf3b40] Max Bernstein 2025-08-07 19:13:07 UTC
ZJIT のデバッグ用のツール tool/zjit_bisect.rb で実行コマンドを出力するようにしています。
[fd6d6a45cd] Max Bernstein 2025-08-07 19:31:58 UTC
同じく ZJIT のデバッグ用ツール tool/zjit_bisect.rb でコマンドの組み立てに Shellwords.join を利用するように修正しています。
[0782bd2826] Max Bernstein 2025-08-07 19:33:08 UTC
ZJIT のデバッグ用のツール tool/zjit_bisect.rb で標準添付ライブラリ optparse を使ってオプションの処理をするようにしています。
[180469a3a7] Max Bernstein 2025-08-07 19:55:54 UTC
ZJIT のデバッグ用ツール tool/zjit_bisect.rb でテスト用の子プロセスがタイムアウトした時に SIGKILL で停止するようにしています。
[c6a27a0253] Max Bernstein 2025-08-08 14:40:55 UTC
tool/zjit_bisect.rb の Shellwords.join を使うかわりに配列のまま Open3.popen3 に渡すようにしています。
[7b5cd5ce15] Nobuyoshi Nakada 2025-08-08 16:01:47 UTC
標準添付ライブラリ mkmf.rb のテストで環境変数 PKG_CONFIG_PATH を設定する時に mkintpath を通すようにした 8e9ea4c202fb104d7c17ad1f3cc59d697120501a を revert しています。
[e4b386e090] Nobuyoshi Nakada 2025-08-08 11:52:16 UTC
GitHub Actions の MinGW 用の workflow で Strawberry Perl というパッケージに含まれている pkg-config.bat が観賞してしまうとのことでファイル名を改名してしまうようにしています。
[057d7c1c58] Jean Boussier 2025-08-08 15:24:58 UTC
関数 object_id_to_ref() 内で rb_gc_disable_no_rest() を呼んでたところを rb_gc_disable() を呼び出して incremental GC の途中の状態で処理してしまわないようにしています。
[8eb26ebf91] Max Bernstein 2025-08-08 17:56:19 UTC
ZJIT の HIR を graphviz で可視化できるように出力するデバッグ機能を追加しようとしているようです。 https://github.com/ruby/ruby/pull/14117
[eb931a09c5] Takashi Kokubun 2025-08-08 18:24:39 UTC
ZJIT で命令のオペランドがメモリ上にある時の対応漏れを修正。 https://github.com/ruby/ruby/pull/14153
[0ba488d7f5] Alan Wu 2025-08-08 18:54:53 UTC
ZJIT のメソッドの委譲用引数 "..." の扱いの対応。
[e639e5fd1a] Peter Zhu 2025-08-08 19:04:48 UTC
GC の default 実装の rb_gc_impl_writebarrier_remember() で RB_GC_VM_LOCK_NO_BARRIER()/RB_GC_VM_UNLOCK_NO_BARRIER() で複数 Ractor 利用時の排他処理を追加しています。
[07878ebe78] Luke Gruber 2025-06-23 18:33:52 UTC
rb_ractor_sched_wait() で Ractor 間の協調のために条件変数を待つ Ractor を起こす処理でロックの取得順序のミスでデッドロックする恐れがあった不具合を修正しているようです。 [ruby-core:122417] [Bug #21398]
[d80c03d22a] John Hawthorn 2025-08-08 23:31:29 UTC
e639e5fd1af51e2462879d6db862ee5320914ba7 の object_id_to_ref() の修正の再修正。 object_id を管理するテーブルを直接操作すると GC 処理時に異常終了する恐れがあったので一時テーブルを作成して rb_gc_disable() が終了してからグローバル変数に代入するように修正しています。
[4209ebb1e4] Ethan 2025-08-05 18:12:13 UTC
Array#fill の rdoc 用コメントの call-seq が new_array を返すという表記になってたので self を返すというように修正しています。
[60ca525fce] Ethan 2025-08-05 18:42:05 UTC
Array#map!, #collect! の rdoc 用コメントの call-seq も new_array を返すという表記になってたので self に修正しています。
[23c0113932] koh-sh 2025-08-09 09:30:17 UTC
拡張ライブラリ stringio の StringIO#seek で第2引数に IO::SEEK_END を渡された時にバッファの文字列がない(nil)の時に異常終了していた不具合を修正しています。 https://github.com/ruby/stringio/pull/137
[31f2d8990d] Nobuyoshi Nakada 2025-08-09 10:44:26 UTC
拡張ライブラリ stringio のバッファに nil を渡していた時に StringIO#read や #pread でも異常終了していたのを修正しています。そもそも明示的に nil を渡すのって用法あるんですっけ?
[b4d5ebcd12] Nobuyoshi Nakada 2025-08-09 10:45:25 UTC
拡張ライブラリ stringio のテストに StringIO.new(nil) で作ったインスタンスに StringIO#eof? を呼ぶテストを追加しています。 31f2d8990dcebf84cbbd3fedf838babaa59554a3 の修正に入れ忘れたテストみたいですね。
[77b3495e97] Nobuyoshi Nakada 2025-08-09 11:15:53 UTC
拡張ライブラリ stringio のインデントの修正のみ。
[2a6345e957] Jean Boussier 2025-08-09 08:54:22 UTC
Time の実装で rb_gc_mark_and_move() に WIDEVAL_GET() の結果を渡す時に明示的なキャストを追加しています。