ruby-trunk-changes 2023-07-19

今日は主に END ブロック内で return を書いた時に異常終了する不具合修正や、ASAN/MSAN などが有効な時の異常終了時のシグナルハンドラの修正などがありました。

[0db58dd0db] Stan Lo 2023-07-18 13:53:24 UTC

irb の gemspec ファイルに dependency として rdoc を追加しています。また rdoc 用コメントで絶対 docs.ruby-lang.org への絶対 URL でリンクされていたものを相対パスでのリンクに修正しています。 https://github.com/ruby/irb/pull/648

[f1f84ca71c] Nobuyoshi Nakada 2023-07-17 02:42:16 UTC

拡張ライブラリ json で HAVE_RB_SCAN_ARGS_OPTIONAL_HASH というマクロの定義の有無をチェックしていたのを削除しています。サポート対象の ruby のバージョン全てで定義される状態になっているので。

[104089ce02] Nobuyoshi Nakada 2023-07-17 02:44:33 UTC

拡張ライブラリ json の rdoc 用コメントの重複した記述の削除。

[768668a4de] Nobuyoshi Nakada 2023-07-17 02:45:00 UTC

拡張ライブラリ jsonJSON.generate と JSON.fast_generate の不要になっていた処理の削除。

[19486ebd72] Nobuyoshi Nakada 2023-07-17 02:54:11 UTC

拡張ライブラリ json の parser.c を再生成しています。f1f84ca71c3015666a1fe5f809b131b1e706e791 の変更の反映のためかと思いましたがかなり大きく変わってるのでソースコードの生成用ツールのバージョンアップの影響かな。

[ebeecbd575] Nobuyoshi Nakada 2023-07-17 15:06:57 UTC

signal.c の check_reserved_signal_() 内の struct iov の配列の処理にマクロを使うリファクタリング

[d1992d6df2] Nobuyoshi Nakada 2023-07-17 15:07:58 UTC

signal.c の check_reserved_signal_() で ASAN/MSAN などの sanitizer が有効な時や Valgrind の memcheck に対応してビルドされている場合には異常終了前にシグナルハンドラをデフォルトに戻しておくようにしています。シグナルハンドラの無限再入状態になってしまうのを避けるためみたいです。

[d6ad334d6e] Stan Lo 2023-07-18 15:18:50 UTC

irb のテストに assert_rows_with_correct_indents という専用の assertion メソッドを導入してテストをリファクタリングしています。

[9c94db7cfc] Nobuyoshi Nakada 2023-07-18 15:43:25 UTC

プロセスの最初や終了時に実行される BEGIN ブロックや END ブロック内で return 文を実行された時のテストを追加しています。

[ac7d34026a] "dependabot[bot]" 2023-07-18 14:05:25 UTC

rubygems の Rust 製拡張ライブラリを含む gem のテストのためのプロジェクトの rb-sys パッケージのバージョンを更新しています。

[fe4d906f5f] Nobuyoshi Nakada 2023-07-18 16:27:45 UTC

ruby 3.2 以降で END ブロック内で return を呼ぶと SIGSEGV が発生するという不具合を修正しています。 [ruby-core:114234] [Bug #19774]

[4c03eab1aa] Peter Zhu 2023-07-18 14:33:28 UTC

プロセス起動時に Init_heap() で通常の(struct RVALUE 1つぶんの slot サイズの) heap のページを確保していたのをやめて必要に応じて確保させるようにしています。

[ecbedf9bf1] Peter Zhu 2023-07-18 15:00:58 UTC

ObjectSpace.dump_all のテストで dump されるオブジェクトの順序に依存していたチェックを修正しています。

[b400307923] tomoya ishida 2023-07-18 20:31:32 UTC

標準添付ライブラリ reline のテストで IO の leak の修正のため close を追加しています。 https://github.com/ruby/reline/pull/573

[45fd006185] osyo-manga 2023-07-18 20:33:35 UTC

標準添付ライブラリ reline で自動インデントのための Proc オブジェクトに Ctrl-D 入力時に nil を含む配列が渡されるのでそれでエラーにならないように呼び元で抑制するように対応しています。 https://github.com/ruby/reline/pull/571

[3211b70545] Alan Wu 2023-07-18 21:52:04 UTC

構造体 rb_control_frame_t の bp_check メンバーのコメントによる cfp からのオフセットの記述が f302e725e10ae05e613e2c24cae0741f65f2db91 での __bp__ メンバー削除でひとつずれたままになってたので追随して修正しています。

[a3a74771f2] Nobuyoshi Nakada 2023-07-19 03:42:20 UTC

Kernel#eval に渡されたスクリプト内に BEGIN 節が書かれていて、そのブロック内で return が呼ばれていた時のテストを追加しています。

[0765b890b5] Nobuyoshi Nakada 2023-07-19 05:35:43 UTC

マクロ USE_THREAD_CACHE=0 を指定してビルドした時にビルドエラー? になっていたのを修正しています。

[ea2fc58d9a] Kazuhiro NISHIYAMA 2023-07-19 10:29:41 UTC

gems/bundled_gems の更新をチェックする GitHub Actions の workflow で独自アクションのファイルパスの typo を修正。