ruby-trunk-changes 2026-06-09

今日は主に Thread::Mutex の解放処理の不具合修正や拡張ライブラリ psych で不正な YAML のロード時のチェック強化などがありました。

[4c7f28d855] Luke Gruber 2026-06-04 13:31:07 UTC

Thread::Mutex の解放処理でロックされた状態だった時に rb_mutex_unlock_th() を呼び出していたのをやめています。 unlock 時にその Mutex で待っている Thread/Fiber を起こす処理があり、GC 中に処理を移すと異常終了につながる問題が発生しうるので、待ちリストから外すだけにして処理の切り替えは抑制するように修正しています。

[4c3d436636] John Hawthorn 2025-04-30 17:28:25 UTC

rb_vm_search_method_slowpath() および callable_method_entry_or_negative() という関数で引数の klass が既に T_NONE であるという不正な状態の場合に明示的に rb_bug() で異常終了させるというデバッグ処理を追加しています。

[ea6ce35094] Hiroshi SHIBATA 2026-06-08 08:52:28 UTC

拡張ライブラリ psych の Encoding オブジェクトの load 処理に class_loader を通すことで safe_load 時の許可リストのチェックが有効に働くように修正しています。

[527d56a5ac] Hiroshi SHIBATA 2026-06-08 08:53:15 UTC

拡張ライブラリ psych で !ruby/hash などのタグ? でオブジェクトをロードする時に不正なクラス名を指定して意図しないオブジェクトの構築をしてしまう不具合を修正しています。意図的に不正な YAML を作った時におかしなことがおきるという問題の修正みたいですね。

[422347ea26] Hiroshi SHIBATA 2026-06-08 08:55:02 UTC

同じく拡張ライブラリ psych で !ruby/array などのタグでもチェックを強化して不正なオブジェクト生成を禁止するようにしています。

[84006e5109] Burdette Lamar 2026-06-09 00:12:35 UTC

doc/file/filename_globbing.md に Pathname.glob を使ったサンプルコードを追記しています。

[49085c19f6] Burdette Lamar 2026-06-09 00:14:16 UTC

File.ftype と Pathname#ftype の rdoc 用コメントの追記と手直し。 https://github.com/ruby/ruby/pull/17219

[69843864fe] Burdette Lamar 2026-06-09 00:16:47 UTC

doc/file/filename_matching.md に Pathname を使ったサンプルコードも追記して、少し体裁も修正しています。 https://github.com/ruby/ruby/pull/17227

[82329a5053] Peter Zhu 2026-06-08 00:31:05 UTC

拡張ライブラリ objspace の ObjectSpace.internal_super_of メソッドの rdoc 用コメントを追加しています。

[7f2615d1fa] "dependabot[bot]" 2026-06-09 02:09:01 UTC

GitHub Actions の workflows で利用しているアクションのバージョンを更新しています。

[b3b2492947] Burdette Lamar 2026-06-09 06:11:05 UTC

doc/language/frozen_objects.md というドキュメントファイルを追加して各種クラスの freeze メソッドの rdoc 用コメントからリンクするようにしています。

[a0ceb1fed4] Peter Zhu 2026-06-09 05:47:45 UTC

異常終了時のプロセスのメモリマップ表示は ModGC を有効にした時には行なわないようにしています。mmtk 実装の利用時には大量のメモリを確保するため表示が膨大になるためとのこと。

[1c9c3d3462] Hiroshi SHIBATA 2026-06-09 07:01:06 UTC

GitHub Actions の独自アクションで利用している actions/setup-java や actions/setup-python のバージョンを更新しています。

[47fd9957d7] Hiroshi SHIBATA 2026-06-09 07:03:41 UTC

GitHub Actions の tarball パッケージでのテストの macOS 版 workflow で brew install に --quiet オプションを付与しています。

[b80b160886] Hiroshi SHIBATA 2026-06-09 07:06:30 UTC

GitHub Actions の独自アクションで利用している actions/cache アクションのバージョンを更新しています。

[e475350a7c] Nobuyoshi Nakada 2026-06-08 07:49:19 UTC

IO::Buffer の VALUE から struct rb_io_buffer を得るヘルパー関数 get_io_buffer() を切り出すリファクタリング。

[8ebc075c4b] Nobuyoshi Nakada 2026-06-09 08:01:00 UTC

IO::Buffer の IO::Buffer#set_value や IO::Buffer#set_values の実装で io_buffer_try_lock() で struct rb_io_buffer::flags にビットフラグを立てて rb_ensure() で落とすというロック処理を不要として削除して実装をシンプルにしています。