[#28681] ブロックパラメータと多値について — Takaaki Tateishi <ttate@...>

11 messages 2006/06/02

[#28708] 1.8.5 release schedule? — URABE Shyouhei <root@...>

というわけで今日の基調講演で8月に1.8.5が出ることになったわけですが。

105 messages 2006/06/10
[#28709] Re: 1.8.5 release schedule? — Yukihiro Matsumoto <matz@...> 2006/06/10

まつもと ゆきひろです

[#28711] Re: 1.8.5 release schedule? — URABE Shyouhei <root@...> 2006/06/11

卜部です。

[#28751] Re: 1.8.5 release schedule? — URABE Shyouhei <root@...> 2006/06/19

卜部です。

[#28752] Re: 1.8.5 release schedule? — Yukihiro Matsumoto <matz@...> 2006/06/19

まつもと ゆきひろです

[#28753] Re: 1.8.5 release schedule? — URABE Shyouhei <root@...> 2006/06/19

卜部です。

[#28754] Re: 1.8.5 release schedule? — Yukihiro Matsumoto <matz@...> 2006/06/19

まつもと ゆきひろです

[#28813] Re: 1.8.5 release schedule? — URABE Shyouhei <root@...> 2006/06/23

卜部です。

[#28818] ruby 1.8.5 preview1 (Re: Re: 1.8.5 release schedule?) — Yukihiro Matsumoto <matz@...> 2006/06/24

まつもと ゆきひろです

[#28819] Re: ruby 1.8.5 preview1 (Re: Re: 1.8.5 release schedule?) — URABE Shyouhei <root@...> 2006/06/24

卜部です。

[#28820] Re: ruby 1.8.5 preview1 (Re: Re: 1.8.5 release schedule?) — Kouhei Yanagita <yanagi@...> 2006/06/24

柳田です。

[#28821] udp test with ruby 1.8.5 preview1 on cygwin — Tanaka Akira <akr@...17n.org> 2006/06/24

In article <y7vnup05.wl%yanagi@shakenbu.org>,

[#28823] Re: udp test with ruby 1.8.5 preview1 on cygwin — Kouhei Yanagita <yanagi@...> 2006/06/24

> いちおう問題の切り分けをするために確認したいんですが、その環

[#28824] Re: udp test with ruby 1.8.5 preview1 on cygwin — Tanaka Akira <akr@...17n.org> 2006/06/24

In article <veqrun77.wl%yanagi@shakenbu.org>,

[#28825] Re: udp test with ruby 1.8.5 preview1 on cygwin — Kouhei Yanagita <yanagi@...> 2006/06/24

mswin32 版ではどうなるのだろうと思って

[#28833] Re: udp test with ruby 1.8.5 preview1 on cygwin — info@... 2006/06/24

Cygwin @ WindowsXP SP2 です。

[#28834] Re: udp test with ruby 1.8.5 preview1 on cygwin — Tanaka Akira <akr@...17n.org> 2006/06/24

In article <449D66EC.8050405@cyanet.jp>,

[#29120] Re: 1.8.5 release schedule? — "U.Nakamura" <usa@...> 2006/07/24

こんにちは、なかむら(う)です。

[#29121] Re: 1.8.5 release schedule? — Yukihiro Matsumoto <matz@...> 2006/07/24

まつもと ゆきひろです

[#29128] bugs in ruby_1_8 (Re: 1.8.5 release schedule?) — URABE Shyouhei <root@...> 2006/07/25

卜部です。

[#29133] Re: bugs in ruby_1_8 (Re: 1.8.5 release schedule?) — Yukihiro Matsumoto <matz@...> 2006/07/26

まつもと ゆきひろです

[#29144] Re: bugs in ruby_1_8 (Re: 1.8.5 release schedule?) — URABE Shyouhei <root@...> 2006/07/26

卜部です。

[#29146] Re: bugs in ruby_1_8 (Re: 1.8.5 release schedule?) — Yukihiro Matsumoto <matz@...> 2006/07/26

まつもと ゆきひろです

[#29185] 1.8.5 preview3? — URABE Shyouhei <root@...> 2006/08/04

卜部です。

[#29186] Re: 1.8.5 preview3? — Yukihiro Matsumoto <matz@...> 2006/08/04

まつもと ゆきひろです

[#29225] Re: 1.8.5 preview3? — URABE Shyouhei <root@...> 2006/08/08

卜部です。

[#29226] Re: 1.8.5 preview3? — Yukihiro Matsumoto <matz@...> 2006/08/08

まつもと ゆきひろです

[#29228] Re: 1.8.5 preview3? — Yukihiro Matsumoto <matz@...> 2006/08/08

まつもと ゆきひろです

[#29231] Re: 1.8.5 preview3? — URABE Shyouhei <root@...> 2006/08/08

卜部です。

[#28718] binding の仕様変更? or バグ? — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

15 messages 2006/06/12

[#28744] rational 1.08 — Tadayoshi Funaba <tadf@...>

ふなばです。

27 messages 2006/06/18
[#28773] Re: rational 1.08 — Shin-ichiro HARA <sinara@...> 2006/06/20

原です。

[#28830] Re: rational 1.08 — Tadayoshi Funaba <tadf@...> 2006/06/24

ふなばです。

[ruby-dev:28826] GC problem by rb_ary_new4(x, 0)

From: Tanaka Akira <akr@...17n.org>
Date: 2006-06-24 12:50:18 UTC
List: ruby-dev #28826
boron でも起きていますが、手元でも SEGV するので調べてみました。
http://www.rubyist.net/~akr/chkbuild/debian-sarge/ruby-trunk/log/20060624T002949.txt.gz

どうも、rb_ary_new4(i, 0) で確保したのを初期化する前に
rb_eval を呼び出してその中の GC で初期化してない領域を参照し
て問題が起きている、というのがひとつあるようです。
(それだけではないようですが)

* そもそも初期化しないんなら rb_ary_new4 でなくて
  rb_ary_new2 でいいはず
* それはそれとして rb_ary_new4 が初期化しないところを生きて
  いる領域とするのは危険

なので、こんなかんじでしょうか。

Index: array.c
===================================================================
RCS file: /src/ruby/array.c,v
retrieving revision 1.187
diff -u -r1.187 array.c
--- array.c	9 Jun 2006 21:20:15 -0000	1.187
+++ array.c	24 Jun 2006 12:35:37 -0000
@@ -163,8 +163,8 @@
     ary = rb_ary_new2(n);
     if (n > 0 && elts) {
 	MEMCPY(RARRAY(ary)->ptr, elts, VALUE, n);
+        RARRAY(ary)->len = n;
     }
-    RARRAY(ary)->len = n;
 
     return ary;
 }
Index: eval.c
===================================================================
RCS file: /src/ruby/eval.c,v
retrieving revision 1.903
diff -u -r1.903 eval.c
--- eval.c	23 Jun 2006 08:28:04 -0000	1.903
+++ eval.c	24 Jun 2006 12:35:37 -0000
@@ -3635,7 +3635,7 @@
 	    long i;
 
 	    i = node->nd_alen;
-	    val = rb_ary_new4(i, 0);
+	    val = rb_ary_new2(i);
 	    for (i=0;node;node=node->nd_next) {
 		RARRAY(val)->ptr[i++] = rb_eval(self, node->nd_head);
 		RARRAY(val)->len = i;
@@ -4881,7 +4881,7 @@
     if (n == 0) {
 	return rb_yield_0(Qundef, 0, 0, 0);
     }
-    val = rb_ary_new4(n, 0);
+    val = rb_ary_new2(n);
     va_start(args, n);
     for (i=0; i<n; i++) {
 	RARRAY(val)->ptr[i] = va_arg(args, VALUE);
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread

Prev Next