1.6.0_14でデバッグの挙動がおかしい

メモ。Eclipse のところ (279137) でいろいろと書いてあるけど、Sun Java 1.6.0_14 で 6862295 という、開発者には困った問題がある。ブレークポイントをしかけて、デバッグで止まらないとすごい困ると思うのだけど…(-XX:+UseParallelGC をすればいいみたいだけど、P1 バグくらいな感じがするのだけど…)。

バッチファイルからの出力が多い場合止まる

https://www.seasar.org/issues/browse/DBFLUTE-536 で対応したのだけど、ProcessBuilder にがんがん改行&フラッシュとか返しちゃよくないみたい。今まで、実行しているバッチ(jdbc.batとか)から返ってくる各行で \n を返していたのだけど、行数が多いと flush ができない感じだった。というわけで、各行で送るのはやめて、ユーザーが入力したものをそのままバッチに渡るように変更してみた。これで問題自体は直ったけど、replace-schema でバッチに y をうまく送ることができず(シェルのreadから-pの文字列がこない…bash のソースも見たのだけど、strerrに渡してくれているから取れる気がするのだけど取れん。これ以上調べるのは重すぎるからやめておく…)。そんなわけで、replace-schema は環境変数で処理してくれるみたいだから、それを使ってうまく動くようにしておいた。