ruby-trunk-changes r62778 - r62796

今日は Solaris での ISeq のバイナリフォーマットへの dump の SEGV 修正や Regexp.union の不具合修正などがありました。

nobu: r62778 2018-03-16 22:29:27 +0900

r62777 に続いて Solaris での CI のデバッグ用にログ出力をさらに追加しています。

nobu: r62779 2018-03-16 22:37:44 +0900

Regexp.union で作った正規表現オブジェクトを to_s などで文字列化した時に "/" をエスケープするバックスラッシュがバックスラッシュ自身として表示されてしまう(?)不具合を修正しています。 [ruby-core:86149] [Bug #14608]

kazu: r62780 2018-03-16 23:09:40 +0900

sample/timeout.rb で deprecated になっている Object#timeout を使っていて警告が出ていたので Timeout.timeout を使うように書き換えています。

nobu: r62781 2018-03-16 23:12:39 +0900

r60491 で skip するようにしていた WeakMap のテストで r62738 で skip がコメントアウトされていましたが、また skip するように戻しています。

k0kubun: r62785 2018-03-17 11:00:30 +0900

MJIT で ISeq をコンパイルする worker が死んでしまってコンパイル完了を受け取ることができなくなってデッドロック状態に陥ることがあったみたいで、結果待ちにタイムアウトを追加しています。

svn: r62786 2018-03-17 11:00:31 +0900

version.h の日付更新。

nobu: r62787 2018-03-17 11:11:06 +0900

r62777 や r62778 に続いて Solaris の CI のデバッグ用のメッセージ出力を追加しています。

nobu: r62788 2018-03-17 11:18:46 +0900

tool/transform_mjit_header.rb でチェックのためコンパイルしてる時に標準エラー出力を捨てて、エラー時に改めて再度実行してエラー内容を読むようになっていたのを、常に標準エラー出力を標準出力にリダイレクトして読み込み、終了ステータスをみてエラーだったら出力をログに出すようにしています。

k0kubun: r62789 2018-03-17 11:37:51 +0900

misc/ruby-style.el でインデントを空白で行うように設定を変更しています。 [ruby-core:84498] [Bug #14246]

nobu: r62790 2018-03-17 13:13:26 +0900

r62763 の String#split のブロック受け付けについて rdoc 用コメントの call-seq と説明文を追加しています。 [ruby-core:36466] [Feature #4780]

nobu: r62791 2018-03-17 13:46:26 +0900

ISeq のバイナリフォーマットへのダンプの Solaris 環境での SEGV 修正。メモリアクセスの alignment の調整のため ibf_dump_align() という関数を追加して書き込む方に応じてレコードの位置を調整するようにしています。

k0kubun: r62792 2018-03-17 15:33:28 +0900

MJIT のテストで gcc が cc1 というコマンドをみつけられなくてエラーになることがあるので、r62720 でエラー時に ENV を表示していましたが、これでは不十分だったようで gcc -print-prog-name=cc1 というコマンドの結果を出力するように変更しています。

k0kubun: r62793 2018-03-17 15:39:18 +0900

IO#reopen の rdoc 用コメントに省略可能な第3引数 opt が表示されていなかったので追記しています。 https://github.com/ruby/ruby/pull/1841 [ruby-core:47806] [Feature #7103]

k0kubun: r62794 2018-03-17 15:41:35 +0900

標準添付ライブラリ logger のテストで未使用の変数があって警告が出てたので削っています。 https://github.com/ruby/ruby/pull/1840

nobu: r62795 2018-03-17 18:41:19 +0900

Solaris でのデバッグ出力を復活させています。 r62791 でもまだ SEGV がなおらなかった模様。

nobu: r62796 2018-03-17 20:42:08 +0900

r62791 の続き。 ibf_dump_align() でバッファの文字列オブジェクトを rb_str_modify_expand() で拡張していましたが、rb_str_modify_expand() は capa は増やすけど len を変更はしないので、rb_str_resize() で len も伸ばして alignment するようにしています。