From: SASADA Koichi Date: 2007-05-21T14:13:18+09:00 Subject: [ruby-dev:30799] Re: 1.9 coredump  ささだです. WATANABE Tetsuya wrote: > |ruby 1.9.0 (2007-05-17 patchlevel 0) [i686-linux] > | > |上で core して落ちますので報告します。 > > の件ですが、スタックサイズの変更で対応(回避)できるようなのでお > 知らせします。core の条件として扱うファイル量が関係していまし > た。 > > ------------------------------ > スタックオーバーフローのハンドリング(Stack Overflow Handling) > http://www.nminoru.jp/~nminoru/programming/stackoverflow_handling.html > ------------------------------ > > を読んでいたのですが、スタックサイズを倍、三倍にすることで扱う > ファイル量を増やしても core しなくなることが確認できました。 > > 確認したシステムは Vine Linux 4.1 になります。デフォルトでは > 8MB です。 > > ------------------------------ > $ ulimit -s > 8192 > ------------------------------ > > core する場合にはスタックサイズを増やすことが有効のようです。 > > 以下は core した場合に ulimit -s でスタックサイズを増やして > core を回避した経過です。ruby 1.9 のソースコードで試しています。  現状の 1.8 でも,マシンスタックあふれは厳密にはチェックできていないと 思うのですが,1.9 ではさらに甘い,という感じでしょうか.確かにあんまり チェックしてないかもしれません.  しかし,この例だと,マシンスタックはあまり深くならないような気がするん ですが,なんでSEGVになるんでしょうか.うーん. -- // SASADA Koichi at atdot dot net