豊福です。 私(豊福) >>> BTRON仕様 OS 超漢字3の新しいセルフ開発環境が出たので ruby1.6.3 >>>を作り直したのですが test.rb で落ちるようになってしまいました。 ... > ともかく超漢字の方に longjmp の質問をしてから出直します。 やはり超漢字の longjmp のバグでした。 これを直してもらったところ raise の件も直りました。 > そのときのスタックのチェックで STACK_LEVEL_MAX が(正し > いのかどうかしりませんが)0x80000000 になっていたので unsigned > でないため stack_length(0) > STACK_LEVEL_MAX となり > rb_eSysStackError を raise しようとして longjmp したところで落 > ちたようです。(HAVE_GETRLIMIT 使ってます) こちらの件なんですがもう少し調べたところ rlim.rlim_cur は int64_t で printf("%f\n", (double)rlim.rlim_cur); printf("%x, %x\n", rlim.rlim_cur); の結果は 9223372036854775808.0 ffffffff, 7fffffff でした。 STACK_LEVEL_MAX を調べ直したら 0x80000000 ではありません でしたが最上位ビットが立った値になってました。(上記の rlim_cur がまともな値かどうかわかりませんが)こういうことも あるので STACK_LEVEL_MAX と stack_length() は unsigned に しといてもらえませんか。 とりあえず unsigned にして進めたところ test.rb が通るよう になりました。(system などまだ一部対応できてないところは ありますが) ruby1.6.4 で作り直したら公開しようと思います。 --- 豊福 toyofuku / juice.or.jp