[#29374] nil.to_s — Shugo Maeda <shugo@...>

前田です。

59 messages 2006/09/01
[#29375] Re: nil.to_s — "U.Nakamura" <usa@...> 2006/09/01

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

[#29380] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29387] Re: nil.to_s — Shugo Maeda <shugo@...> 2006/09/01

前田です。

[#29390] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29398] Re: nil.to_s — "NARUSE, Yui" <naruse@...> 2006/09/01

成瀬です。

[#29400] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29491] symbol and string — Tanaka Akira <akr@...>

open-uri で :proxy=>nil という指定を行うと、以下のようにエラーになります。

33 messages 2006/09/05
[#29499] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/05

まつもと ゆきひろです

[#29500] Re: symbol and string — Tanaka Akira <akr@...> 2006/09/05

In article <1157470154.047826.13379.nullmailer@x31.priv.netlab.jp>,

[#29503] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/06

まつもと ゆきひろです

[#29504] Re: symbol and string — Tanaka Akira <akr@...> 2006/09/06

In article <1157505538.340126.8472.nullmailer@x31.priv.netlab.jp>,

[#29507] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/06

まつもと ゆきひろです

[#29512] Re: symbol and string — keiju@... (石塚圭樹) 2006/09/06

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

[#29529] Re: symbol and string — SASADA Koichi <ko1@...> 2006/09/08

 ささだです。

[#29530] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/08

まつもと ゆきひろです

[ruby-dev:29595] Re: dumps core when 'def a; a.foo; end; a'

From: Yukihiro Matsumoto <matz@...>
Date: 2006-09-20 22:47:58 UTC
List: ruby-dev #29595
まつもと ゆきひろです

In message "Re: [ruby-dev:29594] dumps core when 'def a; a.foo; end; a'"
    on Thu, 21 Sep 2006 02:01:20 +0900, Tadashi Saito <shiba@mail2.accsnet.ne.jp> writes:

|自分は数年前にRubyを知ってから追いかけ続けて来ました。少しでも
|コミュニティのお役に立てたらと思い何かしらできることを探して
|来たのですが、やはり非力な自分のできる事は本当に少ないものです。
|ですができることしかできないわけで、これからもできることを一つ
|ひとつ探して行きたいと思います。

ありがとうございます。

|と、駄文が長くなりすみません。以下本題なのですが、いつの間にか
|trunkで以下のようにするとcoreを吐くようです。1.8では起こりません。
|
|$ ruby-trunk -ve 'def a; a.foo; end; a'
|ruby 1.9.0 (2006-09-20) [i686-linux]
|セグメンテーション違反です (core dumped)
|$
|
|"foo"を既存のメソッドに変えても同様です。

手元では"stack level too deep (SystemStackError)"というエラー
になります。aメソッドの中で無条件にaを呼んでいるんで無限再帰
になっているからです。レシーバの評価の時点で再帰していますか
ら、fooに当たる部分がなんであっても同じですね。

実は、スタックレベルのチェックは毎回やると重過ぎるのでかなり
間引いているのですが、このチェックの間にスタックを消費しすぎ
るとsegmentation faultになります。これはYARVにでもならない限
り直せない(既知の)バグです。

|自分の知り得る限りの知識を使ってgdbで探ってみると、どうやらrb_eval()
|の第二引数の値が異常に小さく見えます。これは正常なものでしょうか。

これは謎ですが(本当にn=0x22なら再帰する前に落ちてるはず)、お
そらく最適化の影響ではないでしょうか。-O2オプションを外して
コンパイルすると、もうちょっと常識的な引数が見れるのではない
かと想像します。

                                まつもと ゆきひろ /:|)

In This Thread