ruby-trunk-changes 2020-03-23

今日は alias で作られたメソッドへの alias を作った時の潜在的不具合修正や CI のテストのデバッグなどがありました。

[6ab7d439f8] Yusuke Endoh 2020-03-22 12:58:18 UTC

大量の Fiber をつくるテスト test_many_fibers_with_threads のタイムアウトを 60秒から 180秒に延ばしています。 Solaris 11 で時間がかかるのでたまにひっかかるのを避けるため。

[095e9f57af] Yusuke Endoh 2020-03-22 13:34:49 UTC

Object#inspect 内での Encoding の扱いについてのテストで実行順序によるエラー? かなにかをデバッグするためにデバッグ用出力のコードを追加しています。

[4f7b435c95] Jeremy Evans 2019-09-23 23:03:15 UTC

Object#clone のデフォルト値を true から nil に変更して、デフォルトでは receiver の freeze 状態を引き継ぐようにしています。言われてみればそのオプションはなかったのか。 [ruby-core:95021] [Feature #16175]

[adecd43197] Jeremy Evans 2020-03-22 16:30:20 UTC

alias で作られたメソッドに対する alias を作った時に Write Barrier をきかせる先の Module/Class が間違っていた不具合を修正しています。 https://github.com/ruby/ruby/pull/2721

[f757330367] git 2020-03-22 16:30:41 UTC

version.h の日付更新

[1c05682929] Yusuke Endoh 2020-03-22 17:13:28 UTC

095e9f57af30fc286ba66557d86f080003ab6d5a のテストのデバッグ用出力を Kernel#p から $stderr.puts に変更して標準エラー出力に出すように変更しています。

[9ebf74fd78] Takashi Kokubun 2020-03-22 18:50:45 UTC

57119dd561418c917b885db5f5af7f129a96d1ec の rb_mjit_header.h のタブを展開する変更のリトライ。展開不要なファイルを skip するようにしたのと Encoding を force_encoding で UTF-8 にそろえるようにしたのが違いかな。 https://github.com/ruby/ruby/pull/2975 [ruby-core:94428] [Misc #16112]

[dec0f582e4] Takashi Kokubun 2020-03-22 19:18:46 UTC

9ebf74fd7843c34eda59f228fc34ab73f2cc458d で再追加した tool/run_without_tabs.rb で Encoding の変換エラーをひとまず無視させるようにしています。

[a55f670757] Takashi Kokubun 2020-03-22 22:46:52 UTC

tool/transform_mjit_header.rb のリファクタリング。変換したシンボルについてのログ出力をまとめて行なうようにして、1行ずつ出力せず "," で繋げることで改行の数を抑制しているようです。

[3cf3427c99] Takashi Kokubun 2020-03-22 22:49:47 UTC

a55f670757c1387aa60d999b3882267816ce7b64 の続き。 tool/transform_mjit_header.rb でヘッダの extern されるシンボル名のセクションに static 宣言があった時にエラーにするようにしている? CI でそのような状況が発生しているみたいなのでそのデバッグのためのようです。

[c4e3d9e953] Takashi Kokubun 2020-03-22 23:36:54 UTC

tool/run_without_tabs.rb で include/ruby/ruby.h も展開対象にするようにしています。

[1d996fe72f] Yusuke Endoh 2020-03-23 01:54:44 UTC

095e9f57af30fc286ba66557d86f080003ab6d5a のテストのデバッグ用のコードを消して、かわりに TracePoint で例外発生のタイミングを掴んで SIGSEGV を発生させることで C のバックトレースを取得しようとしています。

[21d8e69248] Koichi Sasada 2020-03-23 02:32:20 UTC

bootstraptest/test_thread.rb の Thread を大量に作って上限に達した時のテストを一時的に実行しないようにしています。 Debian 9 の CI? でリソースを食い尽してしまうそうなのでデバッグのため?

[d059714746] Takashi Kokubun 2020-03-23 03:20:26 UTC

tool/run_without_tabs.rb でタブ展開をするのを $MJIT_DEBUGFLAGS に -ggdb3 が含まれている時だけにしています。デバッグ時に限るという感じですね。

[d578f1d3ea] Takashi Kokubun 2020-03-23 06:07:09 UTC

d059714746466b4062545719f2e81ca612aa22f3 の続きで tool/run_without_tabs.rb でタブ展開をするのを common.mk に定義した MJIT_WITHOUT_TABS という変数で制御するようにして、デフォルトは true にしています。つまり今度はタブ展開抑制をビルド時に明示的に指定した場合のみにしています。

[3bd7d5617f] Takashi Kokubun 2020-03-23 06:14:31 UTC

d578f1d3ea317ef8d899d0fd9a4440ba67821d17 の再修正で変数 MJIT_WITHOUT_TABS の展開にクオートを追加して空文字列でも1つの引数になるようにしています。

[13e9551b97] Takashi Kokubun 2020-03-23 06:15:50 UTC

tool/run_without_tabs.rb を tool/mjit_without_tabs.rb に改名しています。