前回に引き続き、HQueue を使用してジョブを投入した後に発生する問題についてQ&A形式で記載し、その参照先をご紹介致します。
(前編)と(後編)の2回に分けて記述しており、この記事は後編の記事となります。前編の記事は、こちらよりご覧下さい。
検証したバージョンは、以下の通りです。
Houdini 15.5.607
HQueue 15.5.607
目次
- HQueueにジョブを投入してしばらくするとFailedとなる場合の確認事項
- HQueueへジョブを投入した後のエラーについて
- HQueue Serverと、HQueue Clientのログファイルで、エラーが表示されています。
- [Could not find output file…]から始まるエラーが表示されています。
- 「No licenses …」から始まるエラーが表示されています。
- 「ERROR: Cannot open file <hipファイル名>」のエラーが表示されました。
- 「ERROR: No such file:<IFDファイル名>」のエラーが表示されています。
- 「Failed to create file:<レンダリング画像名>」のエラーが表示されています。
- HQueue でのレンダリング結果と、ローカルでの結果が異なっています。
HQueueにジョブを投入してしばらくするとFailedとなる場合の確認事項
HQueueのHQueue Render/HQueue Simulation ROPの[Submit Job]を選択することでジョブの投入を行うことができます。Houdini上で、ジョブの投入が完了すると、以下の画像が表示され、WEBインターフェースにジョブが表示されます。
ジョブが正常に実行できていない場合は、以下の画像のように、WEBインターフェース上でジョブのステータスがFailedという表示になります。
ジョブがFailedする原因としては、以下のようなものが考えられます。
- HQueue ServerのマシンとHQueue Clientのマシン間の接続
- HQueue Server及びHQueue Clientとご使用のファイルサーバーとの接続
- HQueue Server及びHQueue Clientとライセンスサーバーとの接続
- シーンファイル内のノードの設定
- シーンファイルまたはIFDファイル内のファイルパスの設定
- 有効なライセンス数
ジョブがFailedする場合は、そのジョブを実行したHQueue Clientのログ(hqnode.log)を確認し、そのジョブが正常に実行され、終了したと表示されているかをご確認ください。hqnode.logの確認方法と、記述される内容については、こちらをご覧ください。
上記のログで該当ジョブの実行と終了が記述されず、エラーが出力されている場合は、HQueue Serverとの接続が正常に行えていない可能性があります。対処法につきましては、こちらをご覧ください。
上記のログで該当ジョブの実行と終了が記述されている場合は、HQueueジョブのログで、なぜFailedしたかを確認することができます。ログの確認方法につきましては、こちらをご覧ください。
※ジョブのログウィンドウ内に何も表示されていない場合でも、ダウンロードしたログテキストには入力されている場合もあります。
以下の項目では、このジョブのログ内で出力されたエラー内容のいくつかの例と、考えられる対処法についてご説明致します。
HQueueへジョブを投入した後のエラーについて
- HQueue Serverと、HQueue Clientのログファイルで、エラーが表示されています。
- [Could not find output file…]から始まるエラーが表示されています。
- 「No licenses …」から始まるエラーが表示されています。
- 「ERROR: Cannot open file <hipファイル名>」のエラーが表示されました。
- 「ERROR: No such file:<IFDファイル名>」のエラーが表示されています。
- 「Failed to create file:<レンダリング画像名>」のエラーが表示されています。
- HQueue でのレンダリング結果と、ローカルでの結果が異なっています。
【問題、現象内容】
ジョブがFailed状態になり、HQueue Serverのマシンに保存されているerrors.logと、ジョブを実行しようとしたHQueue Clientマシンに保存されているhqnode.logで、エラーメッセージが出力されます。
【原因、対処方法】
HQueue Serverのマシンと、ジョブを実行しようとしたHQueue Clientマシンのネットワーク接続が正常に設定できていない可能性があります。
■ファイアウォールについて
双方で一時的にファイアウォールを無効化した場合に、動作に変化があるかどうかをご確認ください。こちらで問題が解決する場合は、ポート番号5000を解放し、再度、動作をご確認ください。
■ファイルアクセス権限について
HQueue Serverのマシンと、HQueue Clientのマシンが、ジョブの参照先となっているディレクトリやフォルダにアクセスする権限を持っているかをご確認ください。
■アカウント権限について(Windowsの場合)
指定したユーザーアカウントが、HQueue Server(またはHQueue Client、ファイルサーバー)に接続する権限がない場合、失敗することがあります。
HQueue Server、およびHQueueClientのサービスのユーザー権限が管理者であることをご確認ください。
HQueue Client側の[コントロールパネル] > [管理ツール] > [サービス]を開き、[HQueueServer]サービスのプロパティの[ログオン]タブにて確認することができます。
詳細な設定方法につきましては、こちらのページをご覧ください。
■hqserver.ini ファイルについて
- hqserver.ini ファイルをテキストエディタで開いてください。
- [server:main]以下の[host = ]の項目に、HQueue ServerのIPアドレスが入力されていることをご確認ください。異なる場合は、HQueue ServerのIPアドレスを設定して下さい。
上記の2点の設定を完了した後は、HQueueServer (およびHQueueClient)の再起動が必要です。
【問題、現象内容】
ジョブがFailedしました。ジョブのログでは、以下の内容が表示されています。
Could not find output file for job '<JOB ID>'
【原因、対処方法】
ジョブを投入したHQueue Render /HQueue Simulation ROPの[Target HFS]の設定が正しいかどうかをご確認ください。
[Target HFS]の設定方法につきましては、こちらをご覧ください。
上記を正しく設定している状態で、引き続き同じエラーが発生する場合は、[Target HFS]の設定したディレクトリが、エラーの発生したHQueue Clientのマシン上からアクセスできるかどうかを確認ください。
HQueue ClientのOSがWindowsの場合は、HQueue Clientのサービスを実行しているユーザがそのディレクトリにアクセスする権限を持っているかどうかもご確認ください。
サービスを実行しているユーザーを確認、変更する方法は、こちらをご覧ください。
【問題、現象内容】
ジョブのログ内で、以下のエラーが表示されています。
No licenses could be found to run this application. Please check for a valid license server host
【原因、対処方法】
こちらのエラーは、実行しようとしたジョブに対して必要なライセンスがないことを明示しています。
HQueue Clientは、起動にはライセンスを使用しませんが、実行するジョブに応じて、使用するライセンスをライセンスサーバーから取得しようとします。そして、取得できない場合、こちらのエラーが表示されます。
このエラーが表示された場合は、まず、そのHQueue Clientのマシンが、Houdiniのライセンスサーバーに接続できることをご確認ください。設定していない場合は、Houdini License Administratorを使用して、HQueue Clientのマシンがライセンスサーバーを参照するように設定してください。
ライセンスサーバーは正常に参照できる状態で、このエラーが表示される場合は、そのジョブに必要なライセンスがすべて使用されている可能性がございます。
例えば、[Generate IFDs][Prepare IFD Jobs]等のIFDファイル生成ジョブで、ステータスがFailedになる場合は、ライセンスサーバーに、利用可能なHoudini Engine、Houdini、Houdini FXライセンスのいずれかが必要となります。
Houdini Engine ライセンスをお持ちでない場合は、Houdini (FX)ライセンスを使用することでHQueue上でIFDの作成を実行することができますが、Houdini(FX)ライセンスは、Houdiniを起動するときに使用するため、HQueueにジョブを投げた時にすべてのライセンスが消費されていると、ジョブがFailedします。
上記のライセンスをすべて使用している場合は、IFDファイルをまずローカル(HoudiniまたはHoudini FXをご使用中)のマシン上で生成した後に、mantraによるレンダリングのジョブのみをHQueueに投入することで、HQueue で上記のライセンスを使用せずに、レンダリングを行うことができます。
HQueue でmantraレンダリングのジョブのみを投入する場合は、以下の設定を行います。
- まず、IFDファイルを生成します。レンダリングに使用するMantra ROPのパラメータエディタを開き、[Driver]タブに移動します。
- [Disk File] を有効化し、書き出し先のディレクトリと、ファイル名を設定します。 (例: $OS.$F4.ifd)
- 上部の[Render To Disk]ボタンを押します。これにより、ローカルで現在使用しているHoudini (またはHoudini FX)ライセンスを使用して、.ifdファイルの書き出しが行われます。
- 書き出しが完了したら、[Disk File]は無効化し、画像のレンダリングが行える状態に戻しておきます。
- HQueue Render ROPを選択し、[General]タブの[Render Current HIP File]のプルダウンメニューを[Use Existing IFDs]に変更します。[IFD Path]にさきほど作成した.ifdファイルを指定し、[Start/End/Inc]を、「それぞれ開始フレーム」、「終了フレーム」、「1(フレームのスキップを行う場合はこちらに必要な数値を入力してください)」に設定します。
- [Submit Job]をクリックして、ジョブを投入してください。
これにより、HQueue上では、指定されたIFDファイルをチェックするジョブと、mantraによるレンダリングのジョブのみが実行されます。
【問題、現象内容】
ジョブがFailedし、ジョブのログ内で、以下のようなエラーが表示されています。
ERROR: Cannot open file X:/H155_Rendering/rendering4.hip
【原因、対処方法】
このエラーは、そのジョブに使用する.hipファイルが見つからないというエラーです。
まず、エラー内に表示されているディレクトリ、およびファイル名で.hipファイルが配置されていることをご確認ください。
そのディレクトリに.hipファイルが存在する場合は、ジョブがFailedした際に使用したクライアントマシンが、そのパスで参照可能かどうかをご確認ください。
尚、Windowsのネットワークドライブ(Z:/ 等)を使用して参照し、.hipファイルを開いている場合も、こちらのエラーが表示されることがあります。HQueue ServerおよびHQueue Clientは、 HQueue Serverのhqserver.iniで設定されているドライブ文字(デフォルトはH:/)のみ、 マッピングを行い、正常に認識することができます。
そのため、「H:/projects」以下にプロジェクトフォルダを配置するか、 .hipファイルを開く際のパスをすべてUNCパスで行い、再度ジョブを投入してください。
【問題、現象内容】
ジョブがFailedし、ジョブのログ内で、以下のようなエラーが表示されています。
Warning: prepareIFDRender() got an unexpected paramter 'enable_checkpoints'. PROGRESS: 0/10 ERROR: No such file: X:/H155_Rendering/ifds/rendering4.mantra2.0001.ifd
【原因、対処方法】
このエラーは、指定したIFDファイル、または参照先のIFDファイルが見つからない場合に発生します。
まず、エラー内に表示されているディレクトリ、およびファイル名でIFDファイルが配置されていることをご確認ください。
そのディレクトリにIFDファイルが存在し、Clientマシン側からのアクセスが正常に行えることもご確認ください。
尚、Windowsのネットワークドライブ(Z:/ 等)を使用してIFDファイルを開いている場合も、このエラーが表示されることがあります。HQueue ServerおよびHQueue Clientは、 HQueue Serverのhqserver.iniで設定されているドライブ文字(デフォルトはH:/)のみ、 マッピングを行い、正常に認識することができます。
プロジェクトフォルダをまとめてH:/projects以下に移動させるか、またはIFDファイルをUNCパスで参照し、再度ジョブの投入を行ってください。
【問題、現象内容】
ジョブがFailedし、ジョブのログ内で、以下のようなエラーが表示されています。
mantra: Could not open imager Error: Failed to create file "X:/H155_Rendering/render/rendering4.mantra2.0001.exr : No such file or directory".
【原因、対処方法】
このエラーは、レンダリングの書き出し先が見つからない場合のエラーです。
まず、エラー内に表示されているディレクトリ、およびファイル名が正しいかどうかをご確認いただき、ジョブが失敗したHQueue Clientのマシン上でそのディレクトリへアクセスできるかどうかをご確認ください。
尚、Windowsのネットワークドライブ(Z:/ 等)を使用してIFDファイルを開いている場合も、このエラーが表示されることがあります。HQueue ServerおよびHQueue Clientは、 HQueue Serverのhqserver.iniで設定されているドライブ文字(デフォルトはH:/)のみ、 マッピングを行い、正常に認識することができます。
プロジェクトフォルダをまとめてH:/projects以下に移動させるか、またはUNCパスで参照し、再度ジョブの投入を行ってください。
補足として、通常の設定では、IFDファイルが保存される時、$HIP、$JOB等の変数はその参照先で展開されます。
.hipファイルやプロジェクトフォルダのディレクトリ指定で、H:/以外のネットワークドライブを使用している場合は、HQueue で使用できないパスがIFDファイルに書き込まれます。
このようなIFDファイルを、UNCパスで参照してレンダリングジョブを投入した場合、IFDファイルのチェックのジョブは成功しますが、そのあとのレンダリングを行うジョブでパスを参照できず、ジョブがFailedしてしまいます。
このような場合は、以下の手順にて.hipファイル内で参照するパスをすべてUNCパスに変更した後、.ifdファイルを生成し直し、再度ジョブを投入します。
■UNCパスの変更と.idfファイルを再投入する手順
- $HIPの参照先を変更します。まず、現在のシーンファイル(.hip)を保存します。
- 次に、1の手順で保存した.hipファイルをUNCパスを使用して開き直します。左上のウィンドウの内容が、UNCパスになっていることをご確認ください。
- $JOBを画像の参照等に使用している場合は、[File] > [Set Project]から、プロジェクトフォルダを選択して、$JOBの参照先を変更してください。
- その他、シーンファイル内に、ネットワークドライブを使用しているパスがないかをご確認ください。そのパスがある場合は、$HIP、$JOB、またはUNCパスにすべて置き換えてください。
- 置き換えが完了しましたら、.hipファイルを再度保存してください。
- その状態で、レンダリングを行うためのIFDファイルを作成します。対象のMantraノードのパラメータで、[Driver]タブに移動し、[Disk File]にチェックを入れて、ファイルを生成します。その後、生成されたファイルを使用して、レンダリングジョブの投入を行ってください。
【問題、現象内容】
HQueueでレンダリングを行った場合に、ジョブはCompleteになりますが、レンダリング結果がローカルでレンダリングした時と異なる結果になりました。
【原因、対処方法】
現在.hipファイルの作成にご使用のHoudiniと、[Target HFS]によってHQueue が参照するHoudiniの細かいバージョンの差異等により、シェーダが正常に処理できていない可能性があります。一度、以下の操作をお試しください。
- ご使用の Houdini のバージョンの$HFSディレクトリのフォルダをそのままHQueue の共有フォルダにコピーしてください。
例: C:\Program Files\Side Effects Software\Houdini 15.5.607 - HQueue Render ROPの[Target HFS]で1の手順でコピーしたフォルダをUNCパスで指定します。
例: //192.168.200.20/hq/houdini_distros/Houdini 15.5.607 - ジョブの投入を行ってください。
また、一部の画像が適用されていないという場合は、シェーダ等のパラメータやその画像の参照先をご確認ください。