サポートチケットを作成する
フォローする

Q100177:ProcessManagerおよびAssetProcessManagerエラーのトラブルシューティング

症状

Katanaを実行すると、ターミナルに次のようなエラーが表示されることがあります。

ProcessManager: Error communicating with process 0x7f8b04001410 (attempt 1 of 5).
ProcessManager: Error verifying alive status of process 0x7f8b04001410.
ProcessManager: Error verifying 'getwork' status of process 0x7f8b04001410.
ProcessManager: Failed to spawn as many processes as requested.
ProcessManager: Process acquisition failed.
AssetProcessManager: Error acquiring interpreter to run command 'isFileSequence' on 'FileSeq'.
AssetProcessManager: Error communicating with sub-process.
AttributeScriptInterpreter: unable to communicate with the parent process

以下のメッセージのいずれかを使用して、シーングラフ内のエラー位置を見つけることもできます。

Error spawning Python interpreter
Error executing AttributeScript: The interpreter process could not be reached.

これらのエラーは、AttributeScriptとPython Asset Plug-inおよびKatanaを処理するために生成された子Pythonプロセス間の通信の失敗を示しており、クラッシュする可能性があります。

原因

Katana 2.0以降は、AttributeScriptとPython Asset Plug-inを別々のサブプロセスで実行します。 Katanaの内部Process Managerはこれらのアクティブなプロセスを維持し、要求されたときに新しいものを割り当てます。時折、これらのプロセスは起動するのに予想以上に時間がかかり(例えば、ネットワーク負荷が大きいため)、ターミナルに "親プロセスと通信できません"というエラーメッセージが表示されることがあります。

通常、KatanaのProcessManagerによって起動されるPythonサブプロセスは常に最大2つあります。1つはAttributeScriptの処理専用、もう1つはPython Asset Plug-inの処理専用です。各プロセスは遅延起動され(必要なときにのみ起動されます)、シーンにPython Asset Plug-inが使用されていない場合やAttributeScriptノードが含まれていない場合は、ProcessManagerサブプロセスの生成やエラーの表示はありません。
ただし、プロセスが起動されると、Katana UI /レンダリングセッションの間存在し、そのようなエラーが発生する可能性があります。

解決

  • カスタムプラグインでこれらのエラーが発生した場合は、それらがKATANA_RESOURCES内の正しいフォルダーに配置されていることを確認してください。たとえば、アセットプラグインが誤って「AssetPlugins」フォルダではなく「Plugins」フォルダに配置された場合、このようなエラーが発生する可能性があります。
この問題を回避するもう1つの方法は、実行しているKatanaのバージョンによって異なります。
KATANA 2.0と2.1
Katana 2.0および2.1では、これらのプロセスが応答しなくなるとProcessManagerによって強制終了されます。
しかし、Katanaが子プロセスを生成した後に返信するのに十分な時間待たずに、子プロセスを時期尚早にデッドと宣言する問題を認識しています。
まだPythonプロセスを生成するAttributeScriptノードまたはPython Asset Plug-inを使用しながら、ワークフローの要件に応じて、次の2つの環境変数を設定してこの動作を変更できます。

- KATANA _IPC_MAX_SPAWN_ATTEMPTS - レポートが作成されずにProcessManagerがプロセスの生成を試行する最大回数。デフォルト値は5です。

- KATANA _IPC_MAX_VERIFY_ATTEMPTS - プロセスが稼働中で作業を受け入れる準備ができているかどうかをProcessManagerが検証しようとする最大回数。デフォルト値は101です。

- ProcessManagerは、各KATANA _IPC_MAX_SPAWN_について、プロセスが稼働中で 、作業を受け入れる準備ができているかどうかを確認しようとします。 時間を試してください

- すべてのKATANA _IPC_MAX_VERIFY_の場合のみ (特定のspawnの試みに対して) ATTEMPTSが失敗すると、コンソールに "Error communication with process"というメッセージが記録されます。

環境変数KATANA_IPC_MAX_VERIFY_ATTEMPTSを1000に設定することをお勧めします。これにより、Katanaは新しく作成された子プロセスと最大1分間通信しようとし続けることになります。 Katanaがその子プロセスとの通信を確立しようとしている間、各レンダリングの開始時に遅延が増加することに気付くかもしれませんが、これは1回限りのイベントであるはずです。

KATANA 2.5
Katana 2.5では、Python Asset Plug-inおよびAttributeScriptの信頼性が全般的に向上しました。特に:
  • 起動に5秒以上かかる場合、 KatanaはAttributeScriptまたはPython Asset Plug-inの実行を担当するサブプロセスを終了しなくなりました。
  • これらのサブプロセスの1つがクラッシュしてもKatanaはハングしなくなりました。
Katanaがサブプロセスの応答を待つ時間に間接的に影響する環境変数KATANA _IPC_MAX_VERIFY_ATTEMPTSは 、Katana 2.5では推奨されなくなりました。
カタナを起動するには、サブプロセスのために待機する時間の長さを制御し、新たな環境変数は、(デフォルトではこれが1分です)今があります: KATANA _IPC_SPAWN_TIMEOUT_S
これは秒単位の値を取り、最小5秒を受け入れます。
このバージョンを使用して、AttributeScriptおよびPython Asset Plug-insのパフォーマンスが向上したことを活用することをお勧めします。
次のステップ
これらのエラーが発生した場合は、実行しているKatanaのバージョンに適した環境変数を設定してください。それでも問題が解決しない場合は、サポートチケットを開いて、問題とそれまでに実行したトラブルシューティングの手順をお知らせください。
サポートチケットを開く方法の詳細については、「 サポートポータル使用 」の記事を参照してください。

この記事は役に立ちましたか?
/

We're sorry to hear that!

Please tell us why.
0人中0人がこの記事が役に立ったと言っています

コメント