From: takagi@... (TAKAGI Hiromitsu) Date: 1997-09-10T15:03:33+09:00 Subject: [ruby-dev:448] Re: How to report a bug > とりあえず最初の報告としてはwhereの出力とrubyのバージョンや > 実行したプラットフォームの情報があればよいと思います. 今回は、Solaris 5.1.1 で ruby 1.1b2 でした。 ruby のバージョンを替えてやってみるべきかもしれませんね…。 > できれば再現する小さめのスクリプトがあるとより良いのですが…. そうですね。しかし今回は厳しそうな感じです。 作っているのは Java House ML の Web archive を生成するもので、 ある程度アーカイブが大きくなったとき発生します。発生する条件を 見つけるのはたいへんそう…。 今やってみると (入力データが増えている)、今度は segmentation fault になりました。エラーの出た行番号も脈絡のないところのように見えます。 今回の whereis の結果を今度は全部添付します。 > 今回は大きめのプログラムということで切り分けが難しいようでし > たら,デバッガで情報を取り出すことをお願いすることになるかも > 知れません. これしかなさそうですね。これ以上続けるには、個人宛のやりとりで 行なった方がよいでしょうか。それとも ruby-dev で続ける意義もある でしょうか。 > で,今回のバグですが,whereの出力をよく見ると > rb_test_false_or_nilからrb_ensureを呼んでいるのが見えます. > ところが,実際には直接はこの関数を呼んでいないのでtrace情報 > が壊れている可能性もあります. > なんとかこちらで再現させる方法は無いですか? うむむ…。 #0 0xef6cb8d4 in realfree () #1 0xef6cc110 in _free_unlocked () #2 0xef6cc044 in free () #3 0x2c560 in gc_force_recycle () #4 0x2c298 in gc_mark () #5 0x2c69c in gc () #6 0x2b814 in xmalloc () #7 0x40600 in str_cicmp () #8 0x406e8 in reg_search () #9 0x40dc4 in reg_match () #10 0x4bec4 in str_cmp () #11 0x23d94 in rb_ensure () #12 0x20994 in rb_test_false_or_nil () #13 0x1fcec in rb_test_false_or_nil () #14 0x1fc6c in rb_test_false_or_nil () #15 0x1fe7c in rb_test_false_or_nil () #16 0x1fc6c in rb_test_false_or_nil () #17 0x2448c in rb_ensure () #18 0x20d18 in rb_test_false_or_nil () #19 0x1fc6c in rb_test_false_or_nil () #20 0x2448c in rb_ensure () #21 0x24810 in rb_funcall2 () #22 0x25b5c in class_new_instance () #23 0x23d50 in rb_ensure () #24 0x20994 in rb_test_false_or_nil () #25 0x211bc in rb_test_false_or_nil () #26 0x1fc6c in rb_test_false_or_nil () #27 0x1fc6c in rb_test_false_or_nil () #28 0x22d94 in rb_yield_0 () #29 0x22e94 in rb_yield () #30 0x3452c in fix_upto () #31 0x23d94 in rb_ensure () #32 0x20994 in rb_test_false_or_nil () #33 0x20170 in rb_test_false_or_nil () #34 0x1fc6c in rb_test_false_or_nil () #35 0x2448c in rb_ensure () #36 0x20994 in rb_test_false_or_nil () #37 0x1fc6c in rb_test_false_or_nil () #38 0x1ef0c in ruby_options () #39 0x1efac in ruby_run () #40 0x16814 in main ()