[#12340] CGI#out — Shugo Maeda <shugo@...>
前田です。
[#12354] re: higher-resolution Time for Win32 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#12364] Dir::fnmatch? — "Akinori MUSHA" <knu@...>
[ruby-dev:12229] の、 Dir::fnmatch? の追加には特に問題や反対
まつもと ゆきひろです
[#12385] Re: NaN, Infinity (Bug?) — WATANABE Hirofumi <eban@...>
わたなべです。
[#12387] reducing logical operation — "Nobuyoshi.Nakada" <nobu.nakada@...>
なかだです。
えぐち@エスアンドイー です。
なかだです。
えぐち@エスアンドイー です。
なかだです。
えぐち@エスアンドイー です。
木山です.
[#12404] fork in threads — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
なひです。
[#12405] at_exit — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
[#12415] — Koji Arai <JCA02266@...>
新井です。
[#12425] bignum % の結果が負数になることがある — Hisayasu Nakao <h-nakao@...>
最近、ruby-1.6.2を使い出したばかりの中尾です。
わたなべです。
In message <4518-Mon12Mar2001145434+0900-eban@os.rim.or.jp>
まつもと ゆきひろです
In message <984469222.234203.1007.nullmailer@ev.netlab.zetabits.com>
なかだです。
In message <200103131446.XAA22520@sharui.nakada.kanuma.tochigi.jp>
まつもと ゆきひろです
In message <984550885.417146.3670.nullmailer@ev.netlab.zetabits.com>
まつもと ゆきひろです
In message <984553493.009507.3747.nullmailer@ev.netlab.zetabits.com>
まつもと ゆきひろです
In message <984579430.080967.5569.nullmailer@ev.netlab.zetabits.com>
まつもと ゆきひろです
[#12483] sort! of empty array — Shin-ichiro HARA <sinara@...>
原です。
まつもと ゆきひろです
なひです。
[#12492] compile error on mswin32 — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
まつもと ゆきひろです
[#12513] SOLIBS — "Akinori MUSHA" <knu@...>
configure.in に以下のような修正を加えたいと思っています。
In message <86itlbdv32.wl@archon.local.idaemons.org>
[#12535] シンボリックリンクを含むパスを渡した時の Dir.glob() の動作 — tachino Nobuhiro <tachino@...>
[#12537] re-initialize ARGF — Masaki Suketa <masaki.suketa@...>
助田です。
[#12541] Thread.kill — Masatoshi SEKI <m_seki@...>
[#12570] compile error on ews48 — Koji Arai <JCA02266@...>
新井です。
[#12578] require 'win32api' — Kazuhiro NISHIYAMA <zn@...>
require 'win32api'のエラーメッセージがわかりにくいと
なかだです。
なかだです。
In <200103211407.XAA03408@sharui.nakada.kanuma.tochigi.jp>
なかだです。
In <200103220905.SAA01745@m3.gw.fujitsu.co.jp>
artonです。
[#12582] finalizer problem — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
けいじゅ@日本ラショナルソフトウェアです.
[#12605] extern inline (ruby.h) ruby-1.6.3 — WATANABE Tetsuya <tetsu@...>
渡辺哲也です。
まつもと ゆきひろです
渡辺哲也です。
まつもと ゆきひろです
まつもと ゆきひろです
新井です。
[#12621] Marshal bug still remains — "Akinori MUSHA" <knu@...>
Marshal にまだバグが残っています。最新安定版で:
[#12623] [req] Symbol#intern — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
[#12672] segv on Continuation#call on C_ALLOCA system — Koji Arai <JCA02266@...>
新井です。
[#12674] Was: [rubyist:0454] Re: to_str — Kenichi Komiya <kom@...1.accsnet.ne.jp>
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
なかだです。
なかだです。
新井です。
なかだです。
まつもと ゆきひろです
[#12693] Re: [ruby-cvs] ruby/lib: * ext/extmk.rb.in, lib/mkmf.rb: move C++ rules to the right place. — "Nobuyoshi.Nakada" <nobu.nakada@...>
なかだです。
At Wed, 28 Mar 2001 21:08:14 +0900,
[#12699] cross compile mingw-ruby on cygwin — Koji Arai <JCA02266@...>
新井です。
[ruby-dev:12672] segv on Continuation#call on C_ALLOCA system
新井です。
先週 rubicon-0.1.4 を ews48 で試してたのですが TestKernel.rb
の test_s_callcc で segv します。
segv する原因は私には難しすぎたのですが、出来る限り追ってみ
たところ Continuation#call でコンテキストを復帰したときに
4232 rb_call0(klass, recv, id, argc, argv, body, nosuper)
4347 if ((state = EXEC_TAG()) == 0) {
ここで、tmp__protect_tmp の値が復活し、TMP_PROTECT_END
の rb_gc_force_recycle を呼ぶことで同じアドレスを指す
freelist ができる、のが原因なのではないかと思います。
再現させたときは、
void
rb_gc_force_recycle(p)
VALUE p;
{
RANY(p)->as.free.flags = 0;
RANY(p)->as.free.next = freelist;
freelist = RANY(p);
}
で、p と freelist の値(復帰した tmp__protect_tmp の値)が同じでした
その結果 rb_newobj() で同じアドレスを指す2つのオブジェクトが
でき、片方の変更が、もう片方に影響して最終的に GC で落ちてい
ました。暫定的に
4232 rb_call0(klass, recv, id, argc, argv, body, nosuper)
4233 VALUE klass, recv;
4327 if (body->nd_rval) ruby_frame->cbase = body->nd_rval;
4328 if (body->nd_tbl) {
4329 #if 1
4330 local_vars = TMP_ALLOC(body->nd_tbl[0]+1);
4331 #else
4332 local_vars = ALLOCA_N(VALUE, body->nd_tbl[0]+1);
4333 #endif
4334 *local_vars++ = (VALUE)body;
4335 rb_mem_clear(local_vars, body->nd_tbl[0]);
4336 ruby_scope->local_tbl = body->nd_tbl;
4337 ruby_scope->local_vars = local_vars;
の #if 1 を 0 にする修正で落ちなくなったことまでを確認しまし
た。#if 1 のときは 4337行目で ruby_scope->local_vars の代入
のときにtmp__protect_tmp.u2 の値が local_vars に書き代わってました。
(つまり、ruby_scope と tmp__protect_tmp が同じ値になってた)
まあ、私の怪しく、拙い説明を読むよりは再現させた方が早いので
Linux で config.h に
#define C_ALLOCA 1
を定義して再コンパイルして
ruby -C rubicon/builtin TestKernel.rb test_s_callcc
を実行してみてくださいませ。うちでは
./miniruby -C rubicon/builtin TestKernel.rb test_s_callcc
#<Rubicon::TestRunner:0x40201ae8 @wait=false, @io=#<IO:0x4019cf3c>>
TestKernel#test_s_callcc TestKernel.rb:629: [BUG] Segmentation fault
ruby 1.7.0 (2001-03-22) [i586-linux]
Aborted (core dumped)
と、再現するようです(上記の解析はこの環境で追った結果です)
スタックトレースは大きいので付けませんが、もし再現しないよう
でしたら言ってくださればあらためて報告します。
--
新井康司 (Koji Arai)