The project of U-WA-
http://uwa.potetihouse.com/
トップページ > 過去ログ > 記事閲覧
アイコン 【TKMP】しばらくするとエラーも無く突然終了する
日時: 2009/12/19 12:06
名前: socket

はじめましてToki様、TKMPの公開ありがとうございます。

定期的にメールをチェックして監視するプログラムを作成しています。
特定のマシンで稼働してしばらくするとエラーもなく突然終了してしまう現象が発生します。

ThreadExceptionイベントハンドラを追加
UnhandledExceptionイベントハンドラを追加

をしてエラーを拾おうとしても拾えませんでした

ログを吐き出してエラーの発生箇所を突き止めると
If Not PopClient.Connect() Then
の箇所である所まではわかったのですが

それ以上先に進めなく困っております。

Page: 1 |

ファイル Re: 【TKMP】しばらくするとエラーも無く突然終了する ( No.1 )
日時: 2009/12/21 18:13
名前: Toki◆pRU.c9X.EOI

エラー無しで突然終了する現象は再現性が有りますか?

通信ログをパケットモニタなどで取得することは可能でしょうか?

通信手順を見ることである程度原因がつかめるかもしれません。

ファイル Re: 【TKMP】しばらくするとエラーも無く突然終了する ( No.2 )
日時: 2009/12/22 14:15
名前: socket

Toki様ご返信ありがとうございます。

>エラー無しで突然終了する現象は再現性が有りますか?
大体1日から2日起動してると現象が発生します。
特に決まった時間帯に発生するわけはなく深夜に発生するときもあれば昼に発生する
事もございます。

>通信ログをパケットモニタなどで取得することは可能でしょうか?
やり方さえわかれば可能だと思います。
ファイル Re: 【TKMP】しばらくするとエラーも無く突然終了する ( No.3 )
日時: 2009/12/25 22:35
名前: Toki◆pRU.c9X.EOI

>大体1日から2日起動してると現象が発生します。
>特に決まった時間帯に発生するわけはなく深夜に発生するときもあれば昼に発生する
>事もございます。

突然終了するのは経験的にメモリ管理の問題の可能性が高いです。
プログラムを実行し続ける場合に1つのPopClientクラスのインスタンスを
使い続けていませんか?

通信ログは別ソフトで監視することになるでしょうが、
起動時間が長いので現実的ではないかもしれません。
欲しい部分は終了する直前のコマンド送受信部分だけなのですが
ファイル Re: 【TKMP】しばらくするとエラーも無く突然終了する ( No.4 )
日時: 2010/01/15 16:33
名前: socket

返信遅くなりました、申し訳ございません。

>プログラムを実行し続ける場合に1つのPopClientクラスのインスタンスを
>使い続けていませんか?
グローバルでPopClientを定義して使い続けていたので
処理する毎に定義するように変更してテストを行いましたが変わらず現象が発生します。
ファイル Re: 【TKMP】しばらくするとエラーも無く突然終了する ( No.5 )
日時: 2010/01/21 00:17
名前: Toki◆pRU.c9X.EOI

原因がわかりにくいので原点に返って

・発生するのは特定のPCのみですか?
 その場合、正常に動作するPCとの違いが何か有りませんか?OSやネットワークなど

・接続先のメールサーバーを変更しても同様の現象が起こりますか?
 メールサーバーの情報が解りますか?

・接続間隔を変更すると問題が発生する時間も変わりますか?
 規則性があるのなら、具体的に接続間隔と問題が発生する時間を参考までに

・「定期的にメールをチェック」のみのシンプルなプログラムでも同様の問題が起こりますか?

以上、いろいろと面倒ではありますが、ご協力お願いいたします
ファイル Re: 【TKMP】しばらくするとエラーも無く突然終了する ( No.6 )
日時: 2010/01/22 11:14
名前: socket

サーバマシンを整理すると、現状で1週間ほど正常稼働しておりますのでマシン特有の問題ではないかと思います。



・発生するのは特定のPCのみですか?
3台ほどで試したのですが発生するのは1台だけでした
全て同じネットワークにありOSも現象が発生するマシンが2003serverで
別のXP proと2003serverのマシンで試した時は現象が出ませんでした。

・接続先のメールサーバーを変更しても同様の現象が起こりますか?
2カ所ほど試しましたが現象が発生しました。また2カ所とも別マシンではうまくいきました。

・接続間隔を変更すると問題が発生する時間も変わりますか?
こちらは試してないです。

・「定期的にメールをチェック」のみのシンプルなプログラムでも同様の問題が起こりますか?
元々シンプルなプログラムですのでこれから作りこんで行く予定ですので
シンプルなプログラムでも現象が発生しました。
ファイル Re: 【TKMP】しばらくするとエラーも無く突然終了する ( No.7 )
日時: 2011/02/01 19:14
名前: VB勉強中

私も同様の現象が発生し、原因を調べたところ、ネット接続が確立していないときに常時発生します。
繰り返し受信を行うと何らかのタイミングでメールサーバーとの接続に失敗し、ネット接続が確立されていない状態と同様になるようです。

サンプルプログラムを実行し、サーバー名、ID、パスワードのみ変更(正しく入力し正常認証確認)し、ネットワークを切断します。LANを物理的に抜くか、ローカルネットワーク接続を無効にします。
その後、button1(接続)をクリックし実行すると、Sub button1_Click 内の

If Not PopClient.Connect() Then

でエラー停止します。
同様にネットを切断し、button2(切断)をクリックすると

PopClient.Close()

でエラー停止します。
原因は分かるのですが、私も勉強中でメール送受信操作をサンプルプログラムの流用に頼っていたのでエラー回避の方法が分かりません。
どなたか、エラー回避の方法をご教授いただけないでしょうか。
ファイル Re: 【TKMP】しばらくするとエラーも無く突然終了する ( No.8 )
日時: 2011/02/07 22:07
名前: Toki◆pRU.c9X.EOI

ネットワークの接続に問題が発生した場合
PopClient.Connect()メソッドは
System.Net.Sockets.SocketException
の例外を発生します。

メソッドの結果によって接続確認が行えるのは
サーバーへの接続が成功してから、
ログオンに失敗した場合のみです。

エラーの発生を回避するには
PopClient.Connect()
を含む部分を例外処理にひれる必要があります。

Page: 1 |