件名:JVInit/JVOpenが応答を返さない事象について
お世話になっております。
JRA-VAN Data Lab.を利用した競馬ソフトを開発している者です。
現在、私のソフトの複数の利用者様から、JVInitまたはJVOpenを呼び出した後、戻り値が返らないまま処理が停止する事象が報告されています。
ここでいう停止は、-301や-303などのエラーコードが返されるケースではなく、COM呼び出し自体が180秒以上戻らない状態です。
これまでに確認している状況は以下のとおりです。
-
JVInitで応答が返らない
-
JVOpenで応答が返らない
-
JVOpenではYSCH、TOKU、RACE、DIFNなど複数のデータ種別で発生
-
Windowsのサービス管理上は、JVLinkAgentが「実行中」となっている状態でも発生する場合がある
-
呼び出し元プロセスを終了・再起動しても、別のデータ種別で再度発生する場合がある
-
Windows 10、Windows 11の複数環境で発生
-
SQLite、DuckDB、PostgreSQLなど、使用するデータベースに関係なく発生
-
当方の開発環境では同じ処理を繰り返しても再現していない
呼び出し元は32bitの.NET 8アプリケーションで、JV-LinkのCOMインターフェースを専用のSTAスレッドから呼び出しています。応答が返らない場合は、アプリケーション側の監視処理により180秒で呼び出し元プロセスを終了しています。
また、下記の投稿で案内されている、環境によってJVLinkAgentが予期せず停止する事象との関連も考えております。
以下について、ご教示いただけますでしょうか。
-
JVLinkAgentがサービス管理上は「実行中」のまま、JVInitまたはJVOpenへ応答しなくなる既知の事象はありますでしょうか。
-
JVInit/JVOpenが戻らなくなった場合、呼び出し元プロセスの終了後にJVLinkAgentサービスを再起動する方法は、正式な復旧手順として問題ありませんでしょうか。
-
JVLinkAgentは他の競馬ソフトからも共有されるため、サービスを再起動する際に考慮すべき点はありますでしょうか。
-
原因調査に利用できるJV-Link内部ログ、イベントログ、ダンプなどがございましたら、取得方法をご案内いただけますでしょうか。
-
同様の事象について、確認すべきJV-Linkのバージョン、Windowsの設定、セキュリティソフト等の条件がございましたら、ご教示ください。
必要であれば、利用者様の個人情報を除いたうえで、発生時刻、呼び出したメソッド、データ種別、オプション、JVLinkAgentの状態などを追加で提示いたします。
お手数をおかけいたしますが、調査に必要な情報や推奨される切り分け方法について、ご教示いただけますと幸いです。
どうぞよろしくお願いいたします。