終了コードについて
CodeQL CLI は、実行した各コマンドの状態を終了コードとして報告します。 この終了コードにより、後続のコマンド、または CodeQL CLI に依存する他のツールに、情報が提供されます。
0
成功、通常の終了。
1
コマンドは、質問に対する答えが "いいえ" であると正しく判断しました。
この終了コードは、"テストの実行"、"dataset check"、"query format"、"resolve extractor" などのいくつかのコマンドでのみ使用されます。 詳しくは、それぞれのコマンドのドキュメントをご覧ください。
2
問題が発生しました。
CLI は、人が読んでわかるエラー メッセージを stderr に書き込みます。
これには、エクストラクターの動作での内部エラーとユーザー向けエラーを codeql
ドライバーが区別できないため、エクストラクターが内部エラーで失敗する場合が含まれます。
3
ランチャーは、CodeQL のインストール ディレクトリを見つけられませんでした。
この場合、ランチャーは CodeQL CLI の Java コードをまったく起動できません。 これは、CodeQL のインストールで重大な問題が発生している場合にのみ発生します。
32
エクストラクターは、"database create" または "データベースのファイナライズ" を実行するときに、分析対象のコードを見つけられませんでした。
33
1 つ以上のクエリ評価がタイムアウトしました。
並列に評価されたクエリの一部はタイムアウトしなかった可能性があります。それらのクエリの結果は、通常どおりに生成されます。
98
評価が明示的に取り消されました。
99
CodeQL CLI でメモリが不足しました。
これは、必ずしもすべてのマシンの物理 RAM が使われたことを意味するとは限りません。
--ram
オプションを使って明示的に制限を設定していない場合、JVM によって起動時に既定の制限が決定されます。
100
致命的な内部エラーが発生しました。
これはバグと見なす必要があります。 通常、CLI は省略されたエラーの説明を stderr に書き込みます。
バグを再現できる場合は、--logdir
を使用し、ログ ファイルをバグ レポートで GitHub に送ると役に立ちます。
その他
codeql
を実行する JVM 内の極めて深刻な問題の場合は、それ自体の判断で 0 以外の終了コードが返される可能性があります。
これは、CodeQL のインストールに重大な問題がある場合、または CodeQL プロセスを実行しているホスト システムにメモリの問題がある場合にのみ発生するはずです。 たとえば、Unix システムは、CodeQL が開始したプロセスをカーネルが強制終了したことを示す終了コード 137 を返す場合があります。 このトラブルシューティングを行う 1 つの方法は、codeql database analyze
ステップの–ram=
フラグを変更して、ワークフローを再実行することです。