コンテンツへ移動

ruby-ML ななめ読む [ruby-dev:48101-48106] / [ruby-core:61949-61996]

2014/4/12 11:37:51

50 メール超えはきつい。もう「眠いから明日の朝でいいや」とかいいません……と思ったら重複チケットとその reject で数が膨らんでたみたいです。しかしそれを抜いても多い。
トムソーヤさんが棚卸しのごとくコメントをしていくさまが印象的。

[ruby-dev:48101] by Nobuyoshi Nakada:#9727
[ruby-dev:48102] by Nobuyoshi Nakada:#9727
[ruby-dev:48103] by 三村 益隆 :#9729
[ruby-dev:48104] by Nobuyoshi Nakada:#9646
[ruby-dev:48105] by Nobuyoshi Nakada:#9729
[ruby-dev:48106] by Nobuyoshi Nakada:#9729
[ruby-core:61949] by Charles Nutter:#9725
[ruby-core:61950] by Vladimir Smelyansky:#9726
[ruby-core:61951] by Nobuyoshi Nakada:#9722
[ruby-core:61952] by Nobuyoshi Nakada:#9669
[ruby-core:61953] by Nobuyoshi Nakada:#9722
[ruby-core:61954] by Nobuyoshi Nakada:#9721
[ruby-core:61955] by Nobuyoshi Nakada:#9721
[ruby-core:61956] by Abinoam P. Marques Jr.:#9594
[ruby-core:61957] by Nobuyoshi Nakada:#9721
[ruby-core:61958] by James Ferguson:#9505
[ruby-core:61959] by Tsuyoshi Sawada:#9728
[ruby-core:61960] by Zeke Fast:#9723
[ruby-core:61961] by Yui NARUSE:#9712
[ruby-core:61962] by Vit Ondruch:#9711
[ruby-core:61963] by Heesob Park:#9728
[ruby-core:61964] by Swati Ray Dey:#9730
[ruby-core:61965] by Mario Maia:#9716
[ruby-core:61966] by Konstantinos Karachalios:#9731
[ruby-core:61967] by Konstantinos Karachalios:#9732
[ruby-core:61968] by Konstantinos Karachalios:#9733
[ruby-core:61969] by Konstantinos Karachalios:#9734
[ruby-core:61970] by Konstantinos Karachalios:#9735
[ruby-core:61971] by Konstantinos Karachalios:#9733
[ruby-core:61972] by Konstantinos Karachalios:#9733
[ruby-core:61973] by Konstantinos Karachalios:#9733
[ruby-core:61974] by jahongir alimov:#9736
[ruby-core:61975] by Yusuke Endoh:#9732
[ruby-core:61976] by Yusuke Endoh:#9731
[ruby-core:61977] by Yusuke Endoh:#9732
[ruby-core:61978] by Yusuke Endoh:#9733
[ruby-core:61979] by Yusuke Endoh:#9731
[ruby-core:61980] by Yusuke Endoh:#9733
[ruby-core:61981] by Yusuke Endoh:#9734
[ruby-core:61982] by Yusuke Endoh:#9731
[ruby-core:61983] by Yusuke Endoh:#9734
[ruby-core:61984] by Yusuke Endoh:#9735
[ruby-core:61985] by Yusuke Endoh:#9731
[ruby-core:61986] by Yusuke Endoh:#9735
[ruby-core:61987] by Rafael Franca:#9731
[ruby-core:61988] by Yukihiro Matsumoto:#9731
[ruby-core:61989] by Thomas Sawyer:#9379
[ruby-core:61990] by Thomas Sawyer:#8707
[ruby-core:61991] by Thomas Sawyer:#9443
[ruby-core:61992] by Thomas Sawyer:#9557
[ruby-core:61993] by Thomas Sawyer:#9565
[ruby-core:61994] by Thomas Sawyer:#9625
[ruby-core:61995] by Thomas Sawyer:#9453
[ruby-core:61996] by Rafael Franca:#9731


#8707

Hash#reverse_each


[ruby-core:61990]
by Thomas Sawyer

Enumerator って #reverse できるの?とのこと。

素数生成器とか円周率生成器とか reverse したらどうなるんですかね。


#9379

Support for using libxml-ruby as XML parser in xmlrpc-libs


[ruby-core:61989]
by Thomas Sawyer

とてもよさげだね、Nokogiri 対応もできるかもね、必要ないときは REXML をロードすらしないっていうのはどうかな、とのこと。


#9443

prepend しても alias されたメソッドはそのまま呼び出せてしまう


[ruby-core:61991]
by Thomas Sawyer

alias って Ruby ではコピーするだけだけど、同じ定義を複数の名前で参照するような本当の alias があるといいよね、とのこと。

ユースケースが思いつかない。破壊的操作して「ぎゃっ」となることのほうが多い気がする。


#9453

attr 等が定義したメソッド名のメソッドを返してほしい


[ruby-core:61995]
by Thomas Sawyer

private が配列を受け付けるようにするほうが private_attr_writer だの protected_attr_accessor だのをごちゃごちゃ追加するよりよさげだけどなあ、とのこと。


#9505

RSpec で subject { subject.new(double) } とか無限再帰させると SEGV


[ruby-core:61958]
by James Ferguson

相互参照した double で再現したよ、2.1.1-p76 でも同じだよ、とのこと。


#9557

Enumerator#next と Enumerator#peek にオプション引数をつけたい


[ruby-core:61992]
by Thomas Sawyer

(トムソーヤさんがメンテしている Ruby Facets の)Indexable を使うといいかもね、とのこと。


#9565

(const|class_variable|instance_variable)_(defined?|get|set) を統一したい


[ruby-core:61993]
by Thomas Sawyer

覚えるメソッドが少なくなるのはいいことだよ、あとグローバル変数操作も含めて欲しいよ、でも名前は token よりいいものがあるんじゃないかな、とのこと。


#9594

2.1.1 で Rails アプリに debugger でブレークかけて cont すると SEGV


[ruby-core:61956]
by Abinoam P. Marques Jr.

debugger のページに SEGV の件とか Ruby 2.0.0 非対応とかRuby 2.0.0 対応メンテナの登場とかがあるね、とのこと。

まだリンクあったけどこれ以上貼っても意味なさそうなので省略。


#9625

パス追加用に `Pathname#/` が欲しい


[ruby-core:61994]
by Thomas Sawyer

これは手間いらずでいいね、とのこと。

no-brainer ってなんか否定的なニュアンスを感じるけど無視。


#9646

Hash#each で無限ループ


[ruby-dev:48104]
by Nobuyoshi Nakada

チケット操作。重複チケットに #9729 を追加。


#9669

Ruby 2.1 で初期値のないキーワード引数を括弧なしで扱えない


[ruby-core:61952]
by Nobuyoshi Nakada

チケット操作。重複チケットに #9722 を追加。


#9711

test-unit と minitest を添付から外したい


[ruby-core:61962]
by Vit Ondruch

提案を心底支持するよ、とのこと。


#9712

Dir.entries で Unicode 文字が?(はてなマーク)に化ける


[ruby-core:61961]
by Yui NARUSE

チケット操作。バックポート対象から 2.0.0, 2.1 ともに除外。(ファイルシステムエンコーディングを使っているのか、という疑問を受けて)そうだよ、とのこと。
(Windows のファイル操作はすべて Unicode でやるべきでは、という提案を受けて)Ruby 内部でまだ W バージョン(Win32API 関数のワイド文字版)に切り替わってない部分があって、ユーザスクリプトでもそれを期待したコードが溢れかえってるよ、いつかは切り替わるべきだけどもまだそうはなってないよ、とのこと。

バックポートの全 DONTNEED 設定は、「入れるのは(バックポートメンテナ的には)ご自由にだけど新機能扱いね」という意思表示と解釈しました。


#9716

FileTest.exist? がパスを展開してくれない


[ruby-core:61965]
by Mario Maia

(~ で始まるファイルのことを考えるとパス展開すべきでない、とのコメントを受けて)なるほどそれは考えなかったよ、すると FileTest でなく #expand_path のバグだね、ちょっと試してみたけど ~/~derp_folder~/~derp は展開するのに ~derp は展開しなかったよ、とのこと。
(いちいち先頭の ~ を ./~ で置き換えたいのか、というコメントを受けて)そうしたいってこともないけどそれでも動くよね、やるとしたら Filetest でなく expand_path の中でだけどね、でもこれだとうまくいかないこともあるから sub のパターンは調整が必要だね、ところで expand_path の問題なわけでチケット変えたほうがいいかな、とのこと。


#9721

2.1.1 で super: no superclass method と言われる


[ruby-core:61954]
by Nobuyoshi Nakada

チケット操作。Markdown 修正。カテゴリを core にセット、対象を 2.2.0 に、2.0.0 と 2.1 をバックポート対象に。


[ruby-core:61955]
by Nobuyoshi Nakada

チケット操作。しかし 違いがわからず


[ruby-core:61957]
by Nobuyoshi Nakada

クローズコミット。


#9722

複数のキーワード引数が扱えない


[ruby-core:61951]
by Nobuyoshi Nakada

チケット操作。重複チケットに #9669 を追加。


[ruby-core:61953]
by Nobuyoshi Nakada

チケット操作。クローズ(#9669 で修正済みのため)、Markdown 修正、バックポートを 2.0.0 除外・2.1 対象に。


#9723

#size が lazy enumerator に作用してくれない


[ruby-core:61960]
by Zeke Fast

(size は lazy に動くから count 使って、というコメントを受けて)ありがとう、とのこと。


#9725
(新規)
verbose 以外で NameError での inspect を止めたい


[ruby-core:61949]
by Charles Nutter

NameError の表示でオブジェクトを inspect すようとするけど、inspect が馬鹿でかくてメモリエラーになるってレポートが JRuby によくくるよ、inspect するのは verbose モードでだけにしたらどうかな、とのこと。

元チケットには背景・問題とその解決法が書かれていますので詳しく知りたい方はどうぞ。JRuby がーってだけだと説得材料が弱い気がするので、MRI でもこんなとき困るよっていう事例があるとよさげなんですが。


#9726
(新規)
Proc のパースがおかしい


[ruby-core:61950]
by Vladimir Smelyansky

メソッドと括弧の間に空白があると、たとえば proc_issue (Proc.new do |n| end) などとすると構文エラーになるよ、do ? end でなく { ? } にすると動作するよ、とのこと。

{ ? } で動作するほうの挙動がバグな気がする。


#9727
(新規)
Array#reject の中に callcc しようとすると異常終了


[ruby-dev:48101]
by Nobuyoshi Nakada

2.0.0 と 2.1 をバックポート対象にして起票。一旦終わった Array#reject のブロック内に callcc でジャンプすると異常終了するよ、とのこと。


[ruby-dev:48102]
by Nobuyoshi Nakada

クローズコミット。

つまるところ、コミット前のバックポート用覚書的なチケット。


#9728
(新規)
/(?!^a).*b/ が “ab” にマッチしない


[ruby-core:61959]
by Tsuyoshi Sawada

StackOverflow にあるように、”ab” =~ /(?!^a).*b/ が nil になるよ、”ab” =~ /(?!^a).?b/ ならマッチするよ、1.9.3 では起きないよ、とのこと。


[ruby-core:61963]
by Heesob Park

ONIG_DONT_OPTIMIZE が関係してるっぽいよ、1.9.3 でも定義すれば起きるし、trunk でも外せば起きないよ、とのこと。


#9729
(新規)
Hash#each が無限ループする(原文ママ)


[ruby-dev:48103]
by 三村 益隆

h = {}; h[[]] = 1; h.keys[0] << 1; h[[]] = 1; h.keys[1] << 1; h.each { 1 } とすると無限ループになるよ、1.9.3-p545 だと起きないよ、とのこと。


[ruby-dev:48105]
by Nobuyoshi Nakada

チケット操作。重複チケットに #9646 を追加。


[ruby-dev:48106]
by Nobuyoshi Nakada

チケット操作。担当者を樽家さんに。

コミットしちゃいなよ、という無言の圧力。


#9730
(新規)
webrick/server.rb で SEGV


[ruby-core:61964]
by Swati Ray Dey

ruby 1.9.3p484 on i386-mingw32(ただし SysWOW64)で、webrick/server.rb 98 行目の select 呼び出し中に SEGV したよ、とのこと。.so 含む gem は watir-classic-4.0.1、sqlite3-1.3.9-x86-mingw32、ffi-1.9.0-x86-mingw32 ぐらいの模様。

あれ、fiddle 読んでても ffi gem って使うんでしたっけ。よくわからない。


#9731
(新規)
Rails の HashWithIndifferentAccess とキーワード引数との食い合わせが悪い


[ruby-core:61966]
by Konstantinos Karachalios

Rails のページで言われているように、キーワード引数を受け付けるところに rails の HashWithIndifferentAccess を渡しても動作してくれないよ、symbolize_keys してやれば一応動くよ、とのこと。


[ruby-core:61976]
by Yusuke Endoh

重複チケットに #9732 を追加。


[ruby-core:61979]
by Yusuke Endoh

重複チケットに #9733 を追加。


[ruby-core:61982]
by Yusuke Endoh

重複チケットに #9734 を追加。


[ruby-core:61985]
by Yusuke Endoh

重複チケットに #9735 を追加。


[ruby-core:61987]
by Rafael Franca

HashWithIndifferentAccess の問題じゃなく、文字列キーのハッシュがキーワード引数にマッチしない問題だってことを明らかにしておくよ、とのこと。


[ruby-core:61988]
by Yukihiro Matsumoto

提案は受け入れられないよ、キーワードに文字列を使わなければいいよ、ActiveSupport とかが文字列キーをシンボルキーに変換するようなメソッドを追加するのも策かもね、とのこと。


[ruby-core:61996]
by Rafael Franca

そうだねキーワード引数が文字列を受け付けてほしいとは思わないよ、でも Rails 固有の問題じゃなくて文字列キーのハッシュ全般の問題だとは言っておくよ、(シンボル GC が入った)2.2 だけがサポート対象になったらシンボルキーに移行するつもりだけどそれまでは DDoS 対策でそうしないよ、どうしてものときは symbolize_keys したらいいよ、とのこと。

言ってることはわかるんだけど、じゃあ何で rails 側の issue で “I recommend to report this to Ruby itself” なんて言ったのかがわからない。


#9732
(新規)
Rails の HashWithIndifferentAccess とキーワード引数との食い合わせが悪い(重複チケット)


[ruby-core:61967]
by Konstantinos Karachalios

#9731 の重複。

ここからしばらく重複なので、次のチケットまで読み飛ばし推奨。


[ruby-core:61975]
by Yusuke Endoh

重複チケットに #9731 を追加。


[ruby-core:61977]
by Yusuke Endoh

Reject。


#9733
(新規)
Rails の HashWithIndifferentAccess とキーワード引数との食い合わせが悪い(重複チケット)


[ruby-core:61968]
by Konstantinos Karachalios

#9731 の重複。


[ruby-core:61971]
by Konstantinos Karachalios

サーバータイムアウトで多重投稿しちゃったよ、とのこと。


[ruby-core:61972]
by Konstantinos Karachalios

[ruby-core:61971] の重複。


[ruby-core:61973]
by Konstantinos Karachalios

[ruby-core:61971] の重複。


[ruby-core:61978]
by Yusuke Endoh

重複チケットに #9731 を追加。


[ruby-core:61980]
by Yusuke Endoh

Reject。


#9734
(新規)
Rails の HashWithIndifferentAccess とキーワード引数との食い合わせが悪い(重複チケット)


[ruby-core:61969]
by Konstantinos Karachalios

#9731 の重複。


[ruby-core:61981]
by Yusuke Endoh

重複チケットに #9731 を追加。


[ruby-core:61983]
by Yusuke Endoh

Reject。


#9735
(新規)
Rails の HashWithIndifferentAccess とキーワード引数との食い合わせが悪い(重複チケット)


[ruby-core:61970]
by Konstantinos Karachalios

#9731 の重複。


[ruby-core:61984]
by Yusuke Endoh

重複チケットに #9731 を追加。


[ruby-core:61986]
by Yusuke Endoh

Reject。

重複ここまで。


#9736
(新規)
自前 rails アプリで SEGV


[ruby-core:61974]
by jahongir alimov

rails アプリ on rails-3.2.12 on 1.9.3p448 で SEGV したよ、ログ添付するよ、とのこと。
ログを見ると、therubyracer-0.10.2/lib/v8/portal/proxies.rb の @js2rb.delete(js) という行の Hash#delete 呼び出しから st_lookup() の if ((st_data_t)table->bins[i*2] == key) { なる行に辿り着いたところで SEGV のようです。

table と bins と num_entries のいずれかが壊れている、ということかな?いろいろ .so 読んでるからマーク忘れとか多重 free とかいろいろ考えられるけれども。

広告
No comments yet

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。