Thursday 29 January 2015

sleep 時のバグ

MBPを閉じた時の TreeVNC の振る舞いなんですが、

* 暴走して熱くなる

ってのがあって。その時は、

* top で java が100%なので busy wait を探す

という方法で取れたようなのですが、まだ、起きることがあるらしい。でも、再現しない。うーん。

* MBPを閉じても network connection が生きていると、VNC serverは動いている

なので、当然、

* VNC Serverのデータを受けとるTreeVNCも動いている

ということまではわかりました。わかりましたが、

* 熱くなるまではいかない

まぁ、そうだよなぁ。謎だ。再現しないなら良いか。

Java側でhost PCがsleep/hybernateな状態かどうかを検出する方法はないらしい。でも、WindowsやOS XのAPIとしては用意されているらしい。なので JNI 経由ではわかるそうです。うーん、そこまでやるのはな。

問題になるのは VNC serverに接続する Tree root だけなので放っておくか。VNCがsleepの時に死んでくれれば面倒ないんだけど。

TreeVNC良いんだけど、もう一桁信頼性が上がってくれてないと使い物にならん... 去年のより落ちる頻度が上がってる。少し集中してなおさないと。

No comments: