[#27417] selector namespace — Shugo Maeda <shugo@...>

前田です。

17 messages 2005/10/13

[#27458] Matrix class is broken without mathn — akira yamada / やまだあきら <akira@...>

Debianユーザからrequire "mathn"しないときに

28 messages 2005/10/19
[#27461] Re: Matrix class is broken without mathn — Yukihiro Matsumoto <matz@...> 2005/10/19

まつもと ゆきひろです

[#27596] Re: Matrix class is broken without mathn — Masahiro Sakai (酒井政裕) <sakai@...> 2005/10/31

酒井といいます。

[#27601] Re: Matrix class is broken without mathn — Yukihiro Matsumoto <matz@...> 2005/10/31

まつもと ゆきひろです

[#27605] Re: Matrix class is broken without mathn — keiju@... (石塚圭樹) 2005/10/31

けいじゅ@いしつかです.

[#27691] Re: Matrix class is broken without mathn — Shin-ichiro HARA <sinara@...> 2005/11/12

原です。

[#27700] Re: Matrix class is broken without mathn — keiju@... (石塚圭樹) 2005/11/14

けいじゅ@いしつかです.

[#27484] 1.8.4 feature freeze? — "URABE Shyouhei aka. mput" <root@...>

卜部です。

19 messages 2005/10/23
[#27485] Re: 1.8.4 feature freeze? — Yukihiro Matsumoto <matz@...> 2005/10/23

まつもと ゆきひろです

[#27492] Re: [ ruby-Bugs-2613 ] building ruby 1.8.3 on Solaris — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

20 messages 2005/10/24
[#27493] Re: [ ruby-Bugs-2613 ] building ruby 1.8.3 on Solaris — Yukihiro Matsumoto <matz@...> 2005/10/24

まつもと ゆきひろです

[#27494] Re: [ ruby-Bugs-2613 ] building ruby 1.8.3 on Solaris — WATANABE Hirofumi <eban@...> 2005/10/24

わたなべです。

[#27495] Re: [ ruby-Bugs-2613 ] building ruby 1.8.3 on Solaris — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/10/24

山本です。

[#27503] Re: [ ruby-Bugs-2613 ] building ruby 1.8.3 on Solaris — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/10/25

山本です。

[#27504] Re: [ ruby-Bugs-2613 ] building ruby 1.8.3 on Solaris — "U.Nakamura" <usa@...> 2005/10/25

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

[#27505] Re: [ ruby-Bugs-2613 ] building ruby 1.8.3 on Solaris — nobuyoshi nakada <nobuyoshi.nakada@...> 2005/10/25

なかだです。

[#27551] 1.8.4 検証を(だれが|どのように)行うか — "URABE Shyouhei aka.mput" <root@...>

さて、 1.8.4-Preview1

41 messages 2005/10/28
[#27561] Re: 1.8.4 検証を(だれが|どのように)行うか — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/10/30

山本です。

[#27562] Re: 1.8.4 検証を(だれが�匹里茲Δ�)行うか — "URABE Shyouhei aka.mput" <root@...> 2005/10/30

卜部です。

[#27566] Re: 1.8.4 検証を(だれが|どのように)行うか — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/10/30

山本です。

[#27586] Re: 1.8.4 検証を(だれが|どのように)行うか — "U.Nakamura" <usa@...> 2005/10/31

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

[#27587] Re: 1.8.4 検証を(だれが|どのように)行うか — Yukihiro Matsumoto <matz@...> 2005/10/31

まつもと ゆきひろです

[ruby-dev:27482] Re: yaml and pp dump core

From: "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
Date: 2005-10-23 06:37:43 UTC
List: ruby-dev #27482
山本です。

>こんばんは、sheepman です。
>次のようにすると core を吐きます。
>
>$ ruby -v
>ruby 1.8.3 (2005-09-29) [i686-linux]
>
>$ ruby -e '
>require "yaml"
>require "pp"
>y = YAML.load <<HERE
>!tag:yaml.org,2002:str foo :
>HERE
>pp y

C++Builder 付属の CodeGuard で調べたところ、メモリの二重開放が
生じているようでした。

Error 18182. 0x310030 (スレッド 0x0A04):
解放済みリソースへの参照:
free(0x03120B78) 

呼び出し履歴:
   0x0358E40D(=syck.so:0x01:00D40D) ..\..\..\ruby\ext\syck\node.c#37
   0x0358A4D7(=syck.so:0x01:0094D7) ..\..\..\ruby\ext\syck\handler.c#26
   0x03588D5A(=syck.so:0x01:007D5A) gram.y#58
   0x03598856(=syck.so:0x01:017856) ..\..\..\ruby\ext\syck\syck.c#494
   0x035922D1(=syck.so:0x01:0112D1) ..\..\..\ruby\ext\syck\rubyext.c#804
   0x02539EDE(=BCCWIN32-RUBY18.DLL:0x01:028EDE) ..\ruby\eval.c#5306

メモリブロック(0x03120B78) [長さ: 100 バイト] は malloc
 によって確保されました。
呼び出し履歴:
   0x0359E348(=syck.so:0x01:01D348) token.re#831
   0x03598B86(=syck.so:0x01:017B86) token.re#256
   0x0358892D(=syck.so:0x01:00792D) gram.c#1115
   0x03598856(=syck.so:0x01:017856) ..\..\..\ruby\ext\syck\syck.c#494
   0x035922D1(=syck.so:0x01:0112D1) ..\..\..\ruby\ext\syck\rubyext.c#804
   0x02539EDE(=BCCWIN32-RUBY18.DLL:0x01:028EDE) ..\ruby\eval.c#5306

メモリブロック (0x03120B78) は free によって解放されました。
呼び出し履歴:
   0x0358A95F(=syck.so:0x01:00995F) ..\..\..\ruby\ext\syck\handler.c#144
   0x03588DEC(=syck.so:0x01:007DEC) gram.y#77
   0x03598856(=syck.so:0x01:017856) ..\..\..\ruby\ext\syck\syck.c#494
   0x035922D1(=syck.so:0x01:0112D1) ..\..\..\ruby\ext\syck\rubyext.c#804
   0x02539EDE(=BCCWIN32-RUBY18.DLL:0x01:028EDE) ..\ruby\eval.c#5306
   0x0253ABC4(=BCCWIN32-RUBY18.DLL:0x01:029BC4) ..\ruby\eval.c#5439

syck_type_id_to_uri が新規メモリを返さない場合があるようなので、
とりあえずこうすると落ちなくなりました。
 
Index: handler.c
===================================================================
--- handler.c	(revision 1)
+++ handler.c	(working copy)
@@ -141,6 +141,7 @@
     }
 
     n->type_id = syck_type_id_to_uri( uri );
+    ASSERT( n->type_id != uri );
     S_FREE( uri );
 }
 
Index: implicit.c
===================================================================
--- implicit.c	(revision 1)
+++ implicit.c	(working copy)
@@ -2481,7 +2481,7 @@
 	goto yy245;
 yy245:
 #line 174 "implicit.re"
-{   return type_id; }
+{   return syck_strndup( type_id, strlen( type_id ) ); }
 #line 2485 "<stdout>"
 yy246:	yych = *++YYCURSOR;
 	switch(yych){
@@ -2928,7 +2928,7 @@
 	goto yy265;
 yy265:
 #line 172 "implicit.re"
-{   return type_id; }
+{   return syck_strndup( type_id, strlen( type_id ) ); }
 #line 2932 "<stdout>"
 yy266:	yych = *++YYCURSOR;
 	switch(yych){

ただ、sheepman さんの再現コードが、たまたま落ちなかった bcc32 版だと

E:\>ruby -v
ruby 1.8.3 (2005-09-21) [i386-bccwin32]

E:\>ruby \z.rb
#<YAML::DomainType:0x2d02e08 @domain="str", @type_id="", @value={"foo"=>nil}>

だったのに、このパッチを当てると

E:/ruby-cvs/ruby_1_8/lib/yaml/rubytypes.rb:154:in `initialize': can't convert ni
l into String (TypeError)
        from E:/ruby-cvs/ruby_1_8/lib/yaml/rubytypes.rb:154:in `yaml_new'
        from E:/ruby-cvs/ruby_1_8/lib/yaml.rb:133:in `load'
        from /z.rb:3

となってしまうのが???です。



In This Thread