JavaバイトコードだけでSegmentation Faultを出せるか?

どうも最近運用しているサーバや、他の環境にて動いている某ウェブアプリが頻繁に落ちるという話が出る。
deleteOnExit()を使うと出る事が多いのだが、検証するとどうもそれが悪いわけではないような気がする。つまりこうだ。

マルチスレッドな環境下で方や変数更新、方や変数参照ということがあってタイミングが悪いと不正なポインタ(Javaは全て参照渡しが基本だ)が使われる事があるらしい。それに対して何か操作をすればもちろん不正なメモリ操作になるだろうが、「まさかJavaでは」と思っていた。でもよくよく考えれば、「Cより効率が良い」とか「JITコンパイルしてるからネイティブ並に速い」という事から類推できるように、不正なメモリへのアクセスはゼロではない気がするのだ。
となればネイティブコードでcallocなりmallocなりするdeleteOnExit()を呼び出せば、運悪く管理領域破壊という時点でおしまい、ということになるんだと思う。
今のところ立証はできていないが、ポインタが64bitだったり、intも64bitだったりする事を考えれば十分可能性を思いつく。

明日は実験だっ。(今年中にレポートにまとめられるだろうか)