PCに停止されます

[戻る]
tappy [E-Mail] 2006/07/05(水) 16:50:27
 いつもお世話になっております。
連続の質問すみません。
掲示板の「PCに停止されてしまいます」トピックに非常に似ている症状なのですが、解決策が効果ないようなので別投稿させていただきます。

症状
 PCtoPCで利用しているのですが、数十回操作以内に必ずPCからサーバを停止されます。特に全画面表示にしたときが多いです。
その後はメールを送ってもPINKが反応しなくなります。
メールのチェックをしていないようです。
ためしに127.0.0.1で自分に接続した場合の状態を報告します。
外からでも同じです。

操作ブラウザ
 IE6.0 以下の画面になり更新不可になる
  ページを表示できません。
    〜〜〜〜〜
  サーバーが見つからないか、DNS エラーです。
  Internet Explorer

受信メール
 OE 以下のメールを受信
  2006/07/05 16:23:17
  全画面表示にしました
  サーバを停止しました。
pink
  httpボタンは緑のまま

ログ取得のdos窓
  Exception in thread "main" java.lang.OutOfMemoryError

実行ログ最後部
  2006/07/05 16:23:14:Accept-Language: ja
  2006/07/05 16:23:14:Accept-Encoding: gzip, deflate
  2006/07/05 16:23:14:User-Agent: Mozilla/4.0   (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR  1.0.3705)
  2006/07/05 16:23:14:Host: 127.0.0.1:10090
  2006/07/05 16:23:14:Connection: Keep-Alive
  2006/07/05 16:23:14:Accept=localhost(127.0.0.1)
  2006/07/05 16:23:14:GET /j4xzkkryg3zk/10+d.jpg HTTP/1.1
  2006/07/05 16:23:14:認証しました
  2006/07/05 16:23:15:リクエスト./d.jpg
  2006/07/05 16:23:15:Accept: */*
  2006/07/05 16:23:15:Referer:        http://127.0.0.1:10090/j4xzkkryg3zk/z+CGOTO?x=544&y=240
  2006/07/05 16:23:15:Accept-Language: ja
  2006/07/05 16:23:15:Accept-Encoding: gzip, deflate
  2006/07/05 16:23:15:User-Agent: Mozilla/4.0     (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR  1.0.3705)
  2006/07/05 16:23:15:Host: 127.0.0.1:10090
  2006/07/05 16:23:15:Connection: Keep-Alive
  2006/07/05 16:23:16:Accept=localhost(127.0.0.1)
  2006/07/05 16:23:16:GET /j4xzkkryg3zk/10+CZOOM HTTP/1.1
  2006/07/05 16:23:16:認証しました
  メール送受信開始
  +OK <86319.1152084198@mail6.zenno.net>
  +OK
  220 mail6.zenno.net ESMTP
  250 ok 1152084199 qp 86339
  221 mail6.zenno.net
  メール送受信終了

現状の解決策としてpinkを長い間隔でメールチェックするように設定し2つ立ち上げ、ひとつがフリーズするともうひとつにメールを受信させ、フリーズ分を終了。そのまま次の予備をひとつ立ち上げて操作を継続しています。  

tappy 2006/07/05(水) 17:02:48
追加です。
環境は NEC Versapro
    P-4 3.06Ghz 
    Memory1G
    MobilityRedeon9000 64M
    画面 QXGA 32bit
    Megaegg光100m
    無線LAN Aterm7610経由 10090ポートはTCPのみを開放
    FW VirusScan解除時にも発生
    同時起動ソフトなし時にも発生
    主なpinkへの要求
     解像度 0.4
     サイズ 240*320
     結果待ち時間 800
     攻撃の通知  No
     ポーリング間隔 8
です 

YGG [E-Mail] [HomePage] 2006/07/05(水) 19:39:45

こんばんは。質問は大歓迎です。

まず詳細で分りやすい状況説明をありがとうございます。
「特に全画面表示にしたときに発生しやすい」こと、「java.lang.OutOfMemoryError」が
発生していること、解像度が「QXGA 32bit」であることから、画面をキャプチャして
縮小画像を生成する際にJavaVMのヒープメモリ不足が発生していると考えます。

JavaVMは、動作するパソコンの物理的なメモリ搭載量に関わらず常に一定量の
メモリでやり繰りする仕組みになっています。この「一定量」とは、
特に指定がなければ64MB程度です。pink はこの状態で動作しています。

これを十分大きな任意のサイズに変更することで解決するものと考えます。
具体的には以下のようにしてください。

1.実行ログ取得モードで起動する場合

 (1) 「実行ログ取得モードで起動.bat」をメモ帳などで開く
 (2) 「java -jar pink.jar >実行ログ.txt」の行を以下の通り変更する
   java -jar -mx128M pink.jar >実行ログ.txt
 (3) 以降は今まで通り「実行ログ取得モードで起動.bat」で pink を起動できます

2.通常起動する場合

 (1) 「実行ログ取得モードで起動.bat」と同じ場所に
   「通常起動.bat」をメモ帳などで作る(ファイル名は任意です)
 (2) 一行目に「start javaw -jar -mx128M pink.jar」と記述する
 (3) 以降は「通常起動.bat」で pink を起動できます


上記の例ではpink に割り当てるメモリサイズを128MBに設定しています。
これでもまだ発生する場合は、上記の「128」と書いているところを任意のサイズに
変更してみてください。

ここからは言い訳です(´`)
pink の設計当初(2004年)は解像度「QXGA 32bit」の環境下で使用されることを
想定しておらず、また試験環境も無かった(というか今でもそんな環境
手元に無いですが)ためこのようなパターンを想像していませんでした。
パソコン機器の進化&低価格化&一般化で、今後ますます発生すると思いますので
次回バージョンアップでは対策を組み込もうと思います。

★---------------------------------------------------------------------------------★
上記の方法でもまだ未解決の場合は、下記の「追加発言」で再度お知らせください。
解決(納得)した場合は「←解決時は質問者本人がここをチェックしてください。」に
チェックを入れ、解決した旨を投稿していただけるとありがたいです(^^
★---------------------------------------------------------------------------------★

tappy [E-Mail] 2006/07/06(木) 12:03:15
 丁寧なご指導ありがとうございます。
早速いろいろ試してみます。
また不具合が出るようでしたらご報告いたします。
 
 ありがとうございました。

tappy [E-Mail] 2006/07/06(木) 21:04:29
 本日やはりまだ同様の事態が一度発生いたしました。
ところで私はJAVAはわからないのですが、聞きかじった知識では
最大メモリの指定は -mx じゃなく -Xmx だったような気がするのですが。
えらそうなことを言って済みませんが、一応検証結果報告です。
よろしくお願いいたします。

YGG [E-Mail] [HomePage] 2006/07/06(木) 21:36:45

こんばんは。

大変失礼致しました、ご指摘の通り-Xmxが正しいです。
お手数ですがXmxに変えてお試しください。

★---------------------------------------------------------------------------------★
上記の方法でもまだ未解決の場合は、下記の「追加発言」で再度お知らせください。
解決(納得)した場合は「←解決時は質問者本人がここをチェックしてください。」に
チェックを入れ、解決した旨を投稿していただけるとありがたいです(^^
★---------------------------------------------------------------------------------★

tappy [E-Mail] 2006/07/07(金) 22:54:32
しつこくすみません。
やはり同様のエラーは発生いたしました。
上記条件を画面は640×640で127.0.0.1接続、メモリ128mに変更して実験した結果、60〜80回目の操作で同様のエラーとなります。
winXPのタスクマネージャでメモリをチェックしたところ、
最初は17964KB消費が操作のたびに2MBぐらいずつ増えていき、
160MBくらいで落ちているようです。(たまに10MBくらい減ります)
もしかしてメモリの開放が私の環境ではうまくされていないのでしょうか?
現在WinXP SP2,java(TM)2Runtime Environment,Standard Edition 1.4.2_11を使用しています。
以上ご報告です。
よろしくお願いいたします。

YGG [E-Mail] [HomePage] 2006/07/08(土) 18:17:29

こんばんは。

問題は環境依存ではないと思っています。つまりpinkにメモリリークのバグがあると
想像しています。具体的な故障箇所はまだ見つけられていないのですが、
調査して改修したいと思いますのでしばらくお待ちください。

当面運用対処としてtappyさんがされていた様に複数の pink を起動するか、
メモリを多めに確保してください。
改修が終わりましたらこのHPおよびこのラウンジでご報告します。

★---------------------------------------------------------------------------------★
上記の方法でもまだ未解決の場合は、下記の「追加発言」で再度お知らせください。
解決(納得)した場合は「←解決時は質問者本人がここをチェックしてください。」に
チェックを入れ、解決した旨を投稿していただけるとありがたいです(^^
★---------------------------------------------------------------------------------★

tappy [E-Mail] 2006/07/09(日) 05:15:56
 こんばんは。

 連日のご対応ありがとうございます。
javaはGC任せで能動的にメモリ管理が出来ないそうなので
大変ですね。

 くれぐれもお身体ご無理なさらないようお願いいたします。

YGG [E-Mail] [HomePage] 2006/07/09(日) 14:27:52

こんにちは。

ソース上特に不審な箇所が見つからなかったので以下のような実験をしてみました。
JavaVMのバージョンと、生成する画面画像のフォーマットを変更し、それぞれ
50回程度画面の移動を繰り返しました。メモリサイズは特に指定していません。

javaVMのバージョン 画面画像フォーマット OutOfMemoryError
-----------------------------------------------------------
1.4.2_02      jpg          発生
1.4.2_02      png          発生せず
1.4.2_12      jpg          発生
1.4.2_12      png          発生せず
1.5.0_07      jpg          発生せず
1.5.0_07      png          発生せず

本当はtappyさんがお使いの1.4.2_11で検証したかったのですが見つからなかったので
1.4.2系で最新の1.4.2_12を使いました。

結果は上記の通りで、JavaVMに1.4.2系を使用してjpgファイルを生成する場合は
メモリリークが発生するようです。タスクマネージャでjava.exeプロセスが
確保するメモリサイズも監視しましたが、「発生せず」としたパターンはいずれも
20MB前後から大幅な変動はありませんでした。

画像ファイルの生成にはJavaのAPIを使用していますので(このようなAPIが
充実しているのがJavaの魅力なのですが)pink側で解消するのは難しいのですが、
上記の結果から以下のいずれかの方法で問題を回避できると考えます。

1.画面画像フォーマットをpngに設定する
2.JavaVMのバージョンを 1.5.0_07 に変更する

将来的なことを考えると後者がお勧めです。JavaVMを変更したくない場合は
前者の採用をご一考ください。


★---------------------------------------------------------------------------------★
上記の方法でもまだ未解決の場合は、下記の「追加発言」で再度お知らせください。
解決(納得)した場合は「←解決時は質問者本人がここをチェックしてください。」に
チェックを入れ、解決した旨を投稿していただけるとありがたいです(^^
★---------------------------------------------------------------------------------★

tappy [E-Mail] 2006/07/09(日) 17:56:46
 こんにちは。

 早速のご対応ありがとうございます。
javaのバージョンを1.5.0_6 b5にアップデートしたところ、
使用メモリは全画面時38M、拡大時22M程度で安定しているようです。
 引き続きテストさせていただきます。
とりあえずご報告まで。

 どうもありがとうございます。

tappy [E-Mail] 2006/07/11(火) 17:25:47
[[解決]]
 こんにちは。

 メモリリークですが、その後一日テストしたところ発生いたしませんでした。
 これで今回解決チェックを入れさせていただきます。
 又不具合があればご報告させていただきます。

 長いことお付き合い、ご対応ありがとうございました。
今後ともよろしくお願い致します。

追加発言
■ お名前(ペンネーム可)
  
■ メールアドレス(省略可、半角で入力)
  
■ ホームページアドレス(省略可、半角で入力)
  
■ 発言(エラー時再送信禁止)
  ←解決時は質問者本人がここをチェックしてください。
  
  

WwwLounge Ver2.16