オッケーでもなんか引っかかる。えーと、requireでその定数が定義されない場合、またautoload処理が走る(ただしrequireはすぐ終わる)ということがタイミング次第で起きる気がするけど別に問題ないから問題ないか?autoload_delete()がいったんまずその定数を削除するのは何故だろうか。少なくとも1.9ではそれをやめないとタイミング次第でまずそう。削除せずに内部でFoo=って書いたら二重定義にならない?でもautoloadが実行される前提条件自体が「その定数がまだ定義されていないこと」だよ。二重定義は起きようがないと思う。autoloadのだれかがいれてるのは間違いないなんと誰のところでも再現する?私のはwindowsでmameさんはlinuxだろうから、割と何処でも出そううちでも起きた。未初期化のゴミ値、でもないんすね。例外じゃないなんかをぶちこむ特殊ケースがある、ということかしら...で、eval_intern.hにNEW_THROW_OBJECTというマクロがあって、これ使って生成したNODEが入ってるタイミングがあるらしい。17になってるNODEはFixnumには見えないと思うんだけどなあ。INT2FIX(TAG_FATAL);これかなぁおおTAGだろうと思ってgrepかけたが負けた。17っていうのはFixnumnaFixnumな8のVALUE値のことすか。eTerminateSignalが投げられてることになってるで、と。Interruptこうなるようになったこれreenteredなの?とりあえず適当に、ですか。何がFATALなんだろこれ。完全に処理が足りてない、ような気はするのだがで、なんだっけ、って感じCtrl+Cが押されました。全スレッドを殺しに行きます。これマジ殺しなのでFATALです。いうことでいいんでしょうかね。nil入れたらどうなるんだろ。xibbarautoload関係ないなhttp://www.atdot.net/sp/view/s6hcll例えばこんな感じで。なんだろうね一応このパッチで現象は止まった止まった?ふうむ変わらんように見えるんだがrb_load_file()が完了しないとloadedはTRUEにならないから、そこには特に疑問はないけど。いや、それじゃその後死ぬのかな。