ruby-trunk-changes 2023-11-25

今日は終了処理時に GC の遅延処理を止めて高速化する最適化や GC 関連の不具合修正、標準添付ライブラリ resolv の不具合修正と機能追加などがありました。

[99e1f7b607] Peter Zhu 2023-11-23 19:53:53 UTC

gc_abort() という関数を追加して進行中の incremental marking や lazy sweep などの GC の処理をとりやめて、さらなる GC の実行を抑制するようにして rb_objspace_call_finalizer() からこれを呼ぶことでプロセス終了時には GC のために時間を使わないようにして終了処理を高速化しています。なるほどこれはおもしろい発想。

[e201b81f79] KJ Tsanaktsidis 2023-11-11 05:12:12 UTC

gc_mark_imemo() 内で callcache の mark が必要かどうかの判定に refinements 経由の callcache かどうかの判定を追加しています。 mark 漏れによる異常終了の不具合修正。 [ruby-core:115307] [Bug #19994]

[269c705f93] Peter Zhu 2023-11-24 15:25:06 UTC

T_OBJECT/T_MODULE/T_CLASS 以外のオブジェクトのインスタンス変数の GC mark 処理の compaction 対応の不具合修正のようです。

[974d18fd0c] Jeremy Evans 2021-03-08 23:28:04 UTC

標準添付ライブラリ resolv で DNS との通信で UDP によるメッセージが想定のサイズに達していない時に TCP に fallback せずエラーになっていた不具合修正。 [ruby-core:80885] [Bug #13513]

[fb7add4954] Peter Zhu 2023-11-24 19:48:02 UTC

Object Shapes のテストでテスト用にビルドされた時に追加される RubyVM::Shape.exhaust_shapes というメソッドを利用するように書きかえています。

[7276d4b4e8] Jeremy Evans 2021-09-18 00:17:20 UTC

標準添付ライブラリ resolv で Resolv::DNS.new のオプションに :raise_timeout_errors というのを追加して DNS への接続がタイムアウトした時に例外を発生させるようにしています。 [ruby-core:105161] [Bug #18151]

[de37b78050] Takashi Kokubun 2023-11-25 05:43:29 UTC

標準添付ライブラリ net/http の TLS のセッション再利用のテストで MinGW で失敗するものを skip させるようにしています。

[84f45c6ed5] Takashi Kokubun 2023-11-25 06:28:39 UTC

GitHub Actions の CodeQL によるチェックの workflow でいくつかの step に continue-on-error: true の設定を追加してエラー時に続きも実行させるようにしています。

[3140886b75] Jun Aruga 2023-11-20 12:18:55 UTC

ext/openssl/History.md の markdown の意図しないマークアップを抑制するためのエスケープ。

[543dd74049] Jun Aruga 2023-11-07 13:36:17 UTC

拡張ライブラリ openssl のテストで利用する証明書の鍵長を変更しています。 FIPS モード対応?

[68a03613d8] hogelog 2023-11-25 10:14:03 UTC

irb の yamatanooroti.gem を使ったテストで仮想端末のサイズを変更して結果の確認方法で余分な文字を許容するようにしています。たまに失敗するテスト対策とのこと。 https://github.com/ruby/irb/pull/786

[f6b292b5ca] tomoya ishida 2023-11-25 10:15:58 UTC

irb で例外処理時に irb 自身のファイルパスをバックトレースから除外する処理などで backtrace が未設定の例外オブジェクトだった時にエラーにならないようにチェックを追加しています。 https://github.com/ruby/irb/pull/782