[#46732] ヒアドキュメント内の変数展開が正常に行われない — ShingoKintaka <kamuycikap@...>

Ruby  :1.8.7 (Ubuntu9.10)

12 messages 2010/01/05
[#46733] Re: ヒアドキュメント内の変数展開が正常に行われない — rubikitch@... 2010/01/06

From: ShingoKintaka <kamuycikap@tulip.ocn.ne.jp>

[#46800] DLモジュールの使い方 — kouichi_someya@...

染谷と申します。

12 messages 2010/01/20
[#47678] プログラム実行時に「[BUG] Segmentation fault」 — 染谷 康一 <kouichi_someya@...> 2010/12/09

染谷と申します。

[ruby-list:46790] Re: エラー([BUG])の追いかけ方

From: "(株)ネットフォレスト 植田裕之" <ueda@...>
Date: 2010-01-18 02:55:43 UTC
List: ruby-list #46790
植田です。


 Moru さん、Nakamatsu Shinji さん、成瀬さん、有難うございます。特にどな
たからも返答をいただけなかったので「アホな質問だったかな?」と思いつつ、
忘れていました。


 最後にいただいた成瀬さんのメールに返信させていただきます。

> 成瀬です。
> 
> (2009/12/07 9:26), "(株)ネットフォレスト 植田裕之" wrote:
> >  自作のスクリプトで以下のようなエラーが出るのですが、エラーメッセージが
> > これしかない状態で何か追いかける方法はありますでしょうか?
> > 
> > ------------------------------------------------------------------------
> > /usr/lib/ruby/1.8/net/http.rb:29: [BUG] not a node 0x30 (0x7ffff4d737e0)
> > ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]
> > ------------------------------------------------------------------------
> 
> まず、このエラーは Ruby の実行系あたりのバグですね。

はい、それは間違いないです。同一コードを別のサーバで動かしても問題なかっ
たので...


> ただ、1.8.7-p72 だと結構古いので、もしかしたら p249 では直っているかも知れません。

 このマシンは Debian/GNU Linux 5.0 で、ruby もパッケージからインストー
ルしたものです。

ueda@hoge:~$ dpkg -l | grep ruby
ii  libreadline-ruby1.8                 1.8.7.72-3lenny1         Readline interface for Ruby 1.8
ii  libruby1.8                          1.8.7.72-3lenny1         Libraries necessary to run Ruby 1.8
ii  ruby1.8                             1.8.7.72-3lenny1         Interpreter of object-oriented scripting lan
ii  ruby1.8-dev                         1.8.7.72-3lenny1         Header files for compiling extension modules
ii  rubygems                            1.2.0-3                  package management framework for Ruby librar
ii  rubygems1.8                         1.2.0-3                  package management framework for Ruby librar

管理のお手伝いをしているマシンなので、deb パッケージ以外の方法でプログラ
ムを入れるのはチョッと難しいのです。


> > スクリプトのどこで起きているのかと再現条件が今ひとつ分からないため、ちょっ
> > とお手上げ状態です。
> 
> バックトレースとかは出ていないんですよね。

はい、いきなり落ちて

/usr/lib/ruby/1.8/net/http.rb:29: [BUG] not a node 0x30 (0x7ffff4d737e0)
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]

だけ表示されます。


> だとすると、net/http.rb の29行目の先頭に p caller; などと書いて、
> どこから呼び出されているか見るのが楽かなぁ。
> 
> 再現パターンが絞られ、かつ p249 でも発症するようでしたら教えてください。

了解しました。

 あの報告の後、しばらくすると症状が出なくなりました。ruby 自体は何も手
を加えていないのですが、スクリプトは少しいじりました。

 今後、再発した際には

	p caller;

を試してみます。ありがとうございました。


> 2. システムで調べる(rdebugじゃトレイスができない時)
> OpenSolaris環境を使っているため詳しくは分かりませんが自分の場合、
> 
> $ truss ruby /your/ruby/file
> 
> でsys callを追いかけながら原因を調べたりします。
> 大体の*nix系にはアプリケーションやスクリプト実行と共に、
> それがシステム側でどう動いているかを調べれるトレイスツールが同梱されているはずです。
> 
> お使いのシステムで使えるトレイスツールもお試しください。
> 
> --
> Moru

Moru さん、ありがとうございます。Linux なので strace で同様のことができ
るみたいなので、再発した際には試してみます。


-----
株式会社ネットフォレスト            http://www.netforest.ad.jp/
Dr.Web/Vade Retro 担当 植田 裕之   ueda@netforest.ad.jp
tel:045-663-6277 fax:045-663-6278


In This Thread