[#23717] error at TestDRbMServer (test/drb) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。どうしても原因がわからないので、報告だけ・・・

18 messages 2004/06/19
[#23718] Re: error at TestDRbMServer (test/drb) — nobu.nakada@... 2004/06/19

なかだです。

[#23719] Re: error at TestDRbMServer (test/drb) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/06/19

山本です。

[#23720] Re: error at TestDRbMServer (test/drb) — nobu.nakada@... 2004/06/19

なかだです。

[#23724] Re: error at TestDRbMServer (test/drb) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/06/19

山本です。

[#23762] Ruby 1.8.2 to be released. — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

40 messages 2004/06/23

[#23784] URI() — Tanaka Akira <akr@...17n.org>

前から思っていたのですが、URI.parse("http://...") を URI("http://...")

19 messages 2004/06/25

[ruby-dev:23665] Re: SEGV eval.c: file = data->frame.node->nd_file

From: nobu.nakada@...
Date: 2004-06-02 11:26:41 UTC
List: ruby-dev #23665
なかだです。

At Thu, 27 May 2004 17:28:25 +0900,
NAKAMURA, Hiroshi wrote in [ruby-dev:23643]:
> ずっと、GW前後のversionで動かしてたんですが、2004-05-26(上記1.666が入っ
> た直後)にrubyを上げたら、しばらく動いたあと、何回目かにwikiで書き込んだ
> タイミングで、
> 1. busy loopでだんまり
> 2. core吐いて落ちる
> のいずれかになるようになりました。30分くらいは書き込んでも普通に動くから
> タチが悪い。

これのようです。

Fri May 14 22:08:38 2004  Yukihiro Matsumoto  <matz@ruby-lang.org>

	* string.c (rb_str_new4): should not reuse frozen shared string if
	  the original is not an instance of String. [ruby-talk:100193]

このパッチで、少なくともtDiaryは落ちなくなりました。

* string.c (str_new4): should share shared instance if it already
  exists.

Index: string.c
===================================================================
RCS file: /cvs/ruby/src/ruby/string.c,v
retrieving revision 1.192
diff -u -2 -p -r1.192 string.c
--- string.c	14 May 2004 16:39:15 -0000	1.192
+++ string.c	2 Jun 2004 11:16:03 -0000
@@ -144,7 +144,7 @@ str_new4(klass, str)
     RSTRING(str2)->len = RSTRING(str)->len;
     RSTRING(str2)->ptr = RSTRING(str)->ptr;
-    if (FL_TEST(str, ELTS_SHARED) && !RSTRING(str)->aux.shared) {
-	/* ptr should be null_str */
+    if (FL_TEST(str, ELTS_SHARED)) {
 	FL_SET(str2, ELTS_SHARED);
+	RSTRING(str2)->aux.shared = RSTRING(str)->aux.shared;
     }
     else {
@@ -166,5 +166,4 @@ rb_str_new4(orig)
     if (FL_TEST(orig, ELTS_SHARED) && (str = RSTRING(orig)->aux.shared) && klass == RBASIC(str)->klass) {
 	long ofs;
-	str = RSTRING(orig)->aux.shared;
 	ofs = RSTRING(str)->len - RSTRING(orig)->len;
 	if (ofs > 0) {


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread