[#27384] yaml and pp dump core — sheepman <sheepman@...>
こんばんは、sheepman です。
[#27406] Ripper.new("").parse blocks — Tanaka Akira <akr@...17n.org>
先ほど、端末から test-all したときに途中でブロックすることに
なかだです。
まつもと ゆきひろです
咳といいます。
[#27417] selector namespace — Shugo Maeda <shugo@...>
前田です。
なかだです。
前田です。
なかだです。
前田です。
原です。
なかだです。
[#27428] cannot build ruby with byacc (1.8) — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
山本です。
なかだです。
山本です。
[#27429] 1.8.4 relrase plan? — "URABE Shyouhei aka. mput" <root@...>
卜部です。 RubyConf にかまけていた間に
なかだです。
[#27449] --without-hoge — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
[#27458] Matrix class is broken without mathn — akira yamada / やまだあきら <akira@...>
Debianユーザからrequire "mathn"しないときに
まつもと ゆきひろです
酒井といいます。
まつもと ゆきひろです
けいじゅ@いしつかです.
原です。
けいじゅ@いしつかです.
原です。
けいじゅ@いしつかです.
原です。
[#27460] Re: [ruby-cvs:15780] ruby, ruby/lib: * lib/mkmf.rb (create_makefile): do not unnecessary empty directories. — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
なかだです。
[#27470] def Foo::Bar.baz; end — "URABE Shyouhei aka.mput" <root@...>
卜部です。
[#27484] 1.8.4 feature freeze? — "URABE Shyouhei aka. mput" <root@...>
卜部です。
まつもと ゆきひろです
-----BEGIN PGP SIGNED MESSAGE-----
まつもと ゆきひろです
-----BEGIN PGP SIGNED MESSAGE-----
卜部です。
[#27492] Re: [ ruby-Bugs-2613 ] building ruby 1.8.3 on Solaris — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
まつもと ゆきひろです
わたなべです。
山本です。
山本です。
こんにちは、なかむら(う)です。
なかだです。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
[#27511] RCR 322: Use log identities to improve BigMath::log performance — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
小林です。
まつもと ゆきひろです
小林です。
まつもと ゆきひろです
[#27513] broken Qtrue in 64bit environment — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
[#27532] [win32] replaced symbols — nobuyoshi nakada <nobuyoshi.nakada@...>
なかだです。
[#27535] Re: [ruby-list:41402] Re: 全角スペースを区切りとした文字列分解で — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#27551] 1.8.4 検証を(だれが|どのように)行うか — "URABE Shyouhei aka.mput" <root@...>
さて、 1.8.4-Preview1
植田@ネットフォレストと申します。
山本です。
卜部です。
山本です。
なかだです。
こんにちは、なかむら(う)です。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
In message <20051031093107.5B79.USA@garbagecollect.jp>
こんにちは、なかむら(う)です。
卜部です。
[#27580] 1.8.4 open problems? — "URABE Shyouhei aka.mput" <root@...>
卜部です。
[ruby-dev:27482] Re: yaml and pp dump core
山本です。
>こんばんは、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
となってしまうのが???です。