バイナリプログラムへの入力用にファイルを準備し、バイナリプログラムの実行をSGEキューイングシステムバージョン6.2u2に送信するperlスクリプトがあります。
ジョブは-sync y
、親perlスクリプトがwaitpid関数を使用して送信されたジョブのステータスを監視できるようにするオプションを使用して送信されます。
親perlスクリプトにSIGTERMを送信すると、このシグナルが各子に伝播され、子がこのシグナルをqsubに転送して、関連するすべての送信済みジョブを正常に終了するため、これも非常に便利です。
-sync y
したがって、このオプションを使用してジョブを送信できることが非常に重要です。
残念ながら、次のエラーが発生し続けます。
Unable to initialize environment because of error: range_list containes no elements
'contains'の不適切なスペルに注意してください。それはタイプミスではありません。これは、コード/エラーメッセージのこの領域がいかに不十分に維持されている必要があるかを示しています。
このエラーを生成する送信を試行しても、STDOUTファイルとSTDERRファイル*.e{JOBID}
およびは生成されません*.o{JOBID}
。送信は完全に失敗します。
このエラーメッセージをグーグルで検索すると、あいまいなメッセージボードに未解決の投稿が表示されるだけです。
このエラーは確実には発生しません。スクリプトを再実行できますが、同じジョブで必ずしもエラーが発生するわけではありません。また、どのノードからジョブを送信しようとしても問題ではないようです。
私の希望は、ここの誰かがこれを理解できることです。
したがって、これらの質問のいずれかに答えると、私の問題は解決します。
- このエラーは、より新しいバージョンのSGEでも持続しますか?
- これを回避するためにqsubのコマンドラインオプションを変更できますか?
- このエラーメッセージは一体何を話しているのでしょうか。