Issue #7878 has been reported by shyouhei (Shyouhei Urabe). ---------------------------------------- Bug #7878: E::Lazy#grep ignores ^C https://bugs.ruby-lang.org/issues/7878 Author: shyouhei (Shyouhei Urabe) Status: Open Priority: Normal Assignee: Category: core Target version: 2.0.0 ruby -v: ruby 2.0.0dev (2013-02-08 trunk 39161) [x86_64-linux] このタイミングでバグかよとお思いでしょうが見つけちまったもんはしょうがない、 [0].lazy.cycle.grep(1).first が^Cに反応しません。どこかでRUBY_VM_CHECK_INTSしてください。
on 2013-02-18 15:40
on 2013-02-18 17:40
Issue #7878 has been updated by mame (Yusuke Endoh). Status changed from Open to Assigned Assignee set to ko1 (Koichi Sasada) ---------------------------------------- Bug #7878: E::Lazy#grep ignores ^C https://bugs.ruby-lang.org/issues/7878#change-36561 Author: shyouhei (Shyouhei Urabe) Status: Assigned Priority: Normal Assignee: ko1 (Koichi Sasada) Category: core Target version: 2.0.0 ruby -v: ruby 2.0.0dev (2013-02-08 trunk 39161) [x86_64-linux] このタイミングでバグかよとお思いでしょうが見つけちまったもんはしょうがない、 [0].lazy.cycle.grep(1).first が^Cに反応しません。どこかでRUBY_VM_CHECK_INTSしてください。
on 2013-02-19 00:22
Issue #7878 has been updated by ko1 (Koichi Sasada).
なぜ私が、と思ったんですが、遠藤さんいい読みですね。
これは、
c_method_foo(){
while(1){ rb_funcall(c_method_bar); }
}
のように、foo, bar が両方とも C メソッドで、foo が bar を無限に呼ぶ、という段階で CHECK_INTS
が入る余地がありませんでした。これは、ちょっと不味いバグなので直します。ううん、このタイミングでこれか。
----------------------------------------
Bug #7878: E::Lazy#grep ignores ^C
https://bugs.ruby-lang.org/issues/7878#change-36573
Author: shyouhei (Shyouhei Urabe)
Status: Assigned
Priority: Normal
Assignee: ko1 (Koichi Sasada)
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2013-02-08 trunk 39161) [x86_64-linux]
このタイミングでバグかよとお思いでしょうが見つけちまったもんはしょうがない、
[0].lazy.cycle.grep(1).first
が^Cに反応しません。どこかでRUBY_VM_CHECK_INTSしてください。
on 2013-02-19 00:54
Issue #7878 has been updated by ko1 (Koichi Sasada). Status changed from Closed to Assigned Assignee changed from ko1 (Koichi Sasada) to mame (Yusuke Endoh) r39308 で取り急ぎ対応しました。 mameさん backport してもいいでしょうか。 ---------------------------------------- Bug #7878: E::Lazy#grep ignores ^C https://bugs.ruby-lang.org/issues/7878#change-36578 Author: shyouhei (Shyouhei Urabe) Status: Assigned Priority: Normal Assignee: mame (Yusuke Endoh) Category: core Target version: 2.0.0 ruby -v: ruby 2.0.0dev (2013-02-08 trunk 39161) [x86_64-linux] このタイミングでバグかよとお思いでしょうが見つけちまったもんはしょうがない、 [0].lazy.cycle.grep(1).first が^Cに反応しません。どこかでRUBY_VM_CHECK_INTSしてください。
on 2013-02-19 13:21
Issue #7878 has been updated by mame (Yusuke Endoh). Assignee changed from mame (Yusuke Endoh) to ko1 (Koichi Sasada) ko1 (Koichi Sasada) wrote: > なぜ私が、と思ったんですが、遠藤さんいい読みですね。 RUBY_VM_CHECK_INTS なんだから笹田さんでしょう。 ko1 (Koichi Sasada) wrote: > r39308 で取り急ぎ対応しました。 > > mameさん > backport してもいいでしょうか。 RUBY_VM_CHECK_INTS したらまずいところで RUBY_VM_CHECK_INTS してしまう副作用がないかが大変気になる(具体的に心当たりがあるわけではない)のですが、大丈夫ですかね? 自信があるなら OK です。 -- Yusuke Endoh <mame@tsg.ne.jp> ---------------------------------------- Bug #7878: E::Lazy#grep ignores ^C https://bugs.ruby-lang.org/issues/7878#change-36610 Author: shyouhei (Shyouhei Urabe) Status: Assigned Priority: Normal Assignee: ko1 (Koichi Sasada) Category: core Target version: 2.0.0 ruby -v: ruby 2.0.0dev (2013-02-08 trunk 39161) [x86_64-linux] このタイミングでバグかよとお思いでしょうが見つけちまったもんはしょうがない、 [0].lazy.cycle.grep(1).first が^Cに反応しません。どこかでRUBY_VM_CHECK_INTSしてください。
on 2013-02-19 20:15
(2013/02/19 21:20), mame (Yusuke Endoh) wrote: >> なぜ私が、と思ったんですが、遠藤さんいい読みですね。 > > RUBY_VM_CHECK_INTS なんだから笹田さんでしょう。 てっきり、Lazy cycle 内でなんか凄いことをやっているのかと思っておりま した。enum.c のほうに変更入れるなら私じゃないだろう、と。 > ko1 (Koichi Sasada) wrote: >> r39308 で取り急ぎ対応しました。 >> >> mameさん >> backport してもいいでしょうか。 > > RUBY_VM_CHECK_INTS したらまずいところで RUBY_VM_CHECK_INTS してしまう副作用がないかが大変気になる(具体的に心当たりがあるわけではない)のですが、大丈夫ですかね? 自信があるなら OK です。 これに関して、実は 1.9.3 に戻したというのが実情です RUBY_VM_CHECK_INTS を外して綺麗になって速くなるかな、と思ったんですが、ちょっとこの挙動(C method の繰り返しの中で rb_funcall している)を思いつかなかったので、デ グレ対応と言えるかと思います。というわけで、自信があります。 本当は、もうちょっと綺麗になりそうだな、という手段を思いついたのです が、怖いので 1.9.3 相当に戻す、という対応になっております。具体的には、 vm_call0_body() の冒頭、 th->passed_block をクリアした後に CHECK_INTS す ればよい、はず。ただし、影響が読めないので、2.1 送り。 よろしくお願いします。
on 2013-02-20 08:15
Issue #7878 has been updated by mame (Yusuke Endoh). ko1 (Koichi Sasada) wrote: > これに関して、実は 1.9.3 に戻したというのが実情です RUBY_VM_CHECK_INTS > を外して綺麗になって速くなるかな、と思ったんですが、ちょっとこの挙動(C > method の繰り返しの中で rb_funcall している)を思いつかなかったので、デ > グレ対応と言えるかと思います。というわけで、自信があります。 なるほど、とても安心できる説明ありがとうございます。 バックポートお願いします。 -- Yusuke Endoh <mame@tsg.ne.jp> ---------------------------------------- Bug #7878: E::Lazy#grep ignores ^C https://bugs.ruby-lang.org/issues/7878#change-36657 Author: shyouhei (Shyouhei Urabe) Status: Assigned Priority: Normal Assignee: ko1 (Koichi Sasada) Category: core Target version: 2.0.0 ruby -v: ruby 2.0.0dev (2013-02-08 trunk 39161) [x86_64-linux] このタイミングでバグかよとお思いでしょうが見つけちまったもんはしょうがない、 [0].lazy.cycle.grep(1).first が^Cに反応しません。どこかでRUBY_VM_CHECK_INTSしてください。
on 2013-02-24 00:14
Issue #7878 has been updated by ko1 (Koichi Sasada). Status changed from Assigned to Closed merged at r39332. ---------------------------------------- Bug #7878: E::Lazy#grep ignores ^C https://bugs.ruby-lang.org/issues/7878#change-36848 Author: shyouhei (Shyouhei Urabe) Status: Closed Priority: Normal Assignee: ko1 (Koichi Sasada) Category: core Target version: 2.0.0 ruby -v: ruby 2.0.0dev (2013-02-08 trunk 39161) [x86_64-linux] このタイミングでバグかよとお思いでしょうが見つけちまったもんはしょうがない、 [0].lazy.cycle.grep(1).first が^Cに反応しません。どこかでRUBY_VM_CHECK_INTSしてください。
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.