[#43610] Re: [ruby-list:48149] Re: requireが配列を取れたら便利だと思うんだけど.. — Hiroshi Nakamura <nakahiro@...>
cnVieS1saXN0GyRCJCskaTt9JEMkRk1oJF4kNyQ/ISMkRyRiQjMkKyRKJD0kJiEjGyhCCgoyMDEx
松田です。
卜部です
[#43620] Module#mix — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
[#43634] [Ruby 1.9 - Bug #4835][Open] Compilation failure of ext/tk with recent ActiveTcl — Yuki Sonoda <yugui@...>
[#43643] DateTime.new! and DateTime.jd — Aaron Patterson <aaron.patterson@...>
こんにちは、アーロンです。
blocker はお前だろ。
まつもと ゆきひろです
> うーん、ただでさえ日英のコミュニケーション障壁があるのに、よ
2011/6/7 Tadayoshi Funaba <tadf@dotrb.org>:
皆さんってのに俺は入ってないみたいだな。
まつもと ゆきひろです
> Aaronが言ってる「リリース」は1.9.3のことだと思いますよ。
まつもと ゆきひろです
> Railsのリリースについては私は知りません。が、1.9.3のリリース
[#43645] Re: [ruby-core:36778] Re: 1.8.7 release next month — Urabe Shyouhei <shyouhei@...>
Moving to ruby-dev to understand strategies of backporting the Tk
永井@知能.九工大です.
卜部です。
永井@知能.九工大です.
[#43655] [Ruby 1.9 - Bug #4853][Assigned] ext/tk/extconf.rb fails on Mac OS X — Nobuyoshi Nakada <nobu@...>
[#43686] test.rb for make run — SASADA Koichi <ko1@...>
ささだです.
[#43700] [Ruby 1.9 - Bug #4866][Assigned] Macでmake checkするとIO.copy_streamでSEGV — Motohiro KOSAKI <kosaki.motohiro@...>
[#43710] Re: [ruby-changes:19939] kosaki:r31986 (trunk): * ext/tk/tcltklib.c (lib_eventloop_core): replace CHECK_INTS with — KOSAKI Motohiro <kosaki.motohiro@...>
永井さん
永井@知能.九工大です.
2011年6月12日0:00 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>:
[#43716] [Ruby 1.9 - Bug #3137] complex.rb changes exceptions of Math — Koichi Sasada <redmine@...>
[#43717] [Ruby 1.9 - Bug #3456] bisarre comma — Koichi Sasada <redmine@...>
まつもと ゆきひろです
メールにじかに反応したまつもとさんは読んでないと思うのでコメント#5を再掲
まつもと ゆきひろです
卜部です。
[#43743] [Ruby 1.9 - Feature #4871][Open] envのコンパクト化 — Kazuki Tsujimoto <kazuki@...>
[#43779] Re: [ruby-cvs:38869] nobu:r31690 (trunk): * gc.c (vm_xcalloc): use calloc provided by platforms. — Yutaka Kanemoto <kinpoco@...>
こんにちは。
金本と申します。
>> AIXでは0 size mallocでNULLが返るのでこまったことになっています。
ささだです.
[#43787] [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Kenta Murata <muraken@...>
まつもと ゆきひろです
もう結論が出てしまったようですが、これは、元々 lib/complex.rb にあった
=E3=82=80=E3=82=89=E3=81=9F=E3=81=A7=E3=81=99=E3=80=82
> complex.rb をロードすると Math が CMath 相当に置き換わりますから、
=E3=82=80=E3=82=89=E3=81=9F=E3=81=A7=E3=81=99=E3=80=82
まつもと ゆきひろです
=E3=82=80=E3=82=89=E3=81=9F=E3=81=A7=E3=81=99=E3=80=82
> これに相当する事をやっているのが complex.rb なので、
遠藤です。
> 定義域を増やすだけにしよう、ということですよね。賛成です。
2011年6月14日22:17 Tadayoshi Funaba <tadf@dotrb.org>:
> 互換性がないという点では同じ話だと思うのですが……。
2011年6月14日23:02 Tadayoshi Funaba <tadf@dotrb.org>:
> いやあ、5 月末の feature freeze 時点では -2 を返していたはずなんですが、
遠藤です。
[#43791] [Ruby 1.9 - Bug #4879][Open] test_new(OpenSSL::TestPKeyRSA) fails on Win32 — Akio Tajima <artonx@...>
[#43820] mysterious hang at busy loop after system() — Tanaka Akira <akr@...>
以下のようなプログラムが手元の環境のひとつでハングします。
[#43829] [Ruby 1.9 - Bug #4891][Open] Vector#normalize — Kenta Murata <muraken@...>
[#43852] [Ruby 1.9 - Bug #4909][Open] trapハンドラは再入されてはいけないのではないか? — Motohiro KOSAKI <kosaki.motohiro@...>
同意します。
[#43859] [Ruby 1.9 - Bug #4911][Open] timer_thread_function() が thead unsafe — Motohiro KOSAKI <kosaki.motohiro@...>
[#43861] Date/DateTimeの仕様について — "NARUSE, Yui" <naruse@...>
ふなばさん
[#43869] [Ruby 1.9 - Bug #4919][Open] OpenSSL::SSL::Sesssion#time= に Bignum を渡すと ArgumentError が発生する — Tomoyuki Chikanaga <nagachika00@...>
報告ありがとうございます。32bit環境で落ちるとか考えてませんでした。。。
[#43875] [Ruby 1.9 - Feature #4921][Assigned] Remove intern.h — Yui NARUSE <redmine@...>
[#43890] [Ruby 1.9 - Bug #4072] dRubyで作成したサーバプログラムがsleepしていてもexitしてしまう — Tomoyuki Chikanaga <nagachika00@...>
[#43902] [Ruby 1.9 - Bug #4926][Open] --gc-stress付きtest/ruby/enc/test_emoji.rbが失敗する — Kazuki Tsujimoto <kazuki@...>
[#44001] socket related errors on chkbuild — SASADA Koichi <ko1@...>
ささだです.
[ruby-dev:43785] [Ruby 1.9 - Bug #4855][Assigned] rb_context_t::saved_thread::machine_stack_(start|end) should be cleared
Issue #4855 has been updated by Tomoyuki Chikanaga. Status changed from Open to Assigned 別途メールで芝さんに確認して頂けました。問題なさそうなのでこれでコミットします。 ---------------------------------------- Bug #4855: rb_context_t::saved_thread::machine_stack_(start|end) should be cleared http://redmine.ruby-lang.org/issues/4855 Author: Tomoyuki Chikanaga Status: Assigned Priority: Normal Assignee: Tomoyuki Chikanaga Category: core Target version: 1.9.x ruby -v: ruby 1.9.3dev (2011-06-08 trunk 31957) [x86_64-darwin10.7.0] 近永と申します。英語で説明するのが難しいのでruby-devで失礼します。 #4827 の調査の途上で再現スクリプトを valgrind つきで実行すると以下のように 不正な領域を machine stack として mark しようとしているようなメッセージが出ました。 (ただし FIBER_USE_NATIVE=0 にした場合です)。 ==27771== Invalid read of size 4 ==27771== at 0x809AC1E: mark_locations_array (gc.c:1373) ==27771== by 0x809ACED: gc_mark_locations (gc.c:1389) ==27771== by 0x809D018: rb_gc_mark_machine_stack (gc.c:2498) ==27771== by 0x819684E: rb_thread_mark (vm.c:1700) ==27771== by 0x819FC05: cont_mark (cont.c:141) ==27771== by 0x819FE09: fiber_mark (cont.c:268) ==27771== by 0x809B6FF: gc_mark_children (gc.c:1813) ==27771== by 0x809B27C: gc_mark (gc.c:1605) ==27771== by 0x809B2B6: rb_gc_mark (gc.c:1611) ==27771== by 0x8196790: rb_thread_mark (vm.c:1690) ==27771== by 0x809B6FF: gc_mark_children (gc.c:1813) ==27771== by 0x809B27C: gc_mark (gc.c:1605) ==27771== by 0x809B2B6: rb_gc_mark (gc.c:1611) ==27771== by 0x819620E: vm_mark_each_thread_func (vm.c:1493) ==27771== by 0x8136FD9: st_foreach (st.c:747) ==27771== by 0x819627B: rb_vm_mark (vm.c:1516) ==27771== by 0x809B6FF: gc_mark_children (gc.c:1813) ==27771== by 0x809B27C: gc_mark (gc.c:1605) ==27771== by 0x809B2B6: rb_gc_mark (gc.c:1611) ==27771== by 0x809CC23: gc_marks (gc.c:2423) ==27771== by 0x809CE98: garbage_collect (gc.c:2474) ==27771== by 0x8099C08: garbage_collect_with_gvl (gc.c:689) ==27771== by 0x8099CB6: vm_malloc_prepare (gc.c:719) ==27771== by 0x8099CE9: vm_xmalloc (gc.c:751) ==27771== by 0x8099EBB: ruby_xmalloc2 (gc.c:831) ==27771== by 0x81A005C: cont_save_machine_stack (cont.c:350) ==27771== by 0x81A0E70: fiber_store (cont.c:1187) ==27771== by 0x81A10D5: fiber_switch (cont.c:1277) ==27771== by 0x81A113A: rb_fiber_transfer (cont.c:1292) ==27771== by 0x81A11E4: rb_fiber_yield (cont.c:1311) ==27771== by 0x81A1293: rb_fiber_s_yield (cont.c:1389) ==27771== by 0x8185238: call_cfunc (vm_insnhelper.c:317) ==27771== by 0x8185B7C: vm_call_cfunc (vm_insnhelper.c:404) ==27771== by 0x8186091: vm_call_method (vm_insnhelper.c:526) ==27771== by 0x818A6C7: vm_exec_core (insns.def:1012) ==27771== by 0x8195705: vm_exec (vm.c:1163) ==27771== by 0x8194404: invoke_block_from_c (vm.c:574) ==27771== by 0x81945BE: rb_vm_invoke_proc (vm.c:620) ==27771== by 0x81A0C93: rb_fiber_start (cont.c:1121) ==27771== by 0x808AF19: ruby_exec_internal (eval.c:213) ==27771== by 0x808AFF9: ruby_exec_node (eval.c:260) ==27771== by 0x808AFD3: ruby_run_node (eval.c:253) ==27771== by 0x805B1CD: main (main.c:38) ==27771== Address 0xbed8aa48 is not stack'd, malloc'd or (recently) free'd これは rb_context_t::saved_thread に thread の情報を格納した後 すぐに machine_stack_(start|end) を 0 クリアせず、そのまま vm stack の確保のために GC が走る 可能性があり、その時に saved_thread->machine_stack_end に保存されているアドレスが 現在のスタック末尾よりも伸びている場合に余分な領域まで mark してしまうようです。 一度は実際にそこまで machine stack が伸長していたわけなので、不正メモリアクセスエラーになる 危険はないかもしれませんが、無駄な mark を省くために修正したいと思います。 そこで saved_thread にコピーする時は常にすぐ machine_stack_(start|end) をクリアするようにしました。 また __ia64 では machine_register_stack_(start|end) というメンバもありこれも同様にしてみました。 ただ IA64 環境が使えないので動作は未確認です。 saved_thread.machine_stack_(start|end) の用途については cont.c を読んで以下のように 理解しているのでこれで良いと思っていますが、かなり込み入っているので ささださんや現在の Fiber 実装された芝さんにチェックしていただきたいと思いパッチ投稿します。 * FIBER_USE_NATIVE=0 の時(setjmp/longjmp 利用時) saved_thread.machine_stack_(start|end) は利用しない。常に 0 で良い。 * FIBER_USE_NATIVE=1 の時 saved_thread.machine_stack_end は利用しない。常に 0 で良い。 saved_thread.machine_stack_start は Thread の実行中の Fiber でない間は ucontext_t::uc_stack のスタックを指しておく。 saved_thread に格納した後で 0 クリアしても fiber_setcontext() で改めて 保存されるので大丈夫。 -- http://redmine.ruby-lang.org