トラブルシューティング


トラブルシューティング


ビルドでエラーが発生する、もしくは、ビルド時間が最低でも2倍以上改善されない場合は次のトラブルシューティングをご覧になるか、support1@incredibuild.co.jp までお問い合わせください。

エラーが発生する場合は、トラブルシューティングを試す前に IncrediBuild を再起動して問題が解決するかどうか確認してください。

IncrediBuild の再起動手順

  • ターミナルで次のコマンドを入力します。sudo service incredibuild restart または /etc/init.d/incredibuild restart

ログファイルの出力

ビルド出力を含むログファイルを生成してサポートチームに送信してください。エラーの発生場所を特定するお手伝いをします。

ログファイルを添付して support1@incredibuild.co.jp までメールをお送りください。

発生したエラーに応じてログファイルを出力してください。

  • 実行中にビルドが停止、もしくはフリーズする場合は、-d1 フラグを使用してリビルドし、関連するログファイルを出力してサポートに送信してください。
  • エラーメッセージを出力してビルドが失敗する場合は、-d1 フラグを使用してリビルドし、関連するログファイルを出力してサポートに送信してください。
  • ビルドがクラッシュする場合は、-d1 と --ib-crash フラグを使用してリビルドし、関連するログファイルを出力してサポートに送信してください。

ビルド全体のログファイルの出力手順:

  1. 「Build History」画面で、ログを出力したいビルドの [Action] アイコンをクリックします。
  2. [History] > [Export Logs] の順にクリックします。

特定のプロセスのログファイルの出力手順:

  1. 「Build History」画面で、ログを出力したいビルドの [Action] アイコンをクリックします。「Build Progress」画面を表示します。 
  2. ログファイルを出力したいプロセスのプログレスバーをクリックします。
  3. [Export Log] をクリックして出力します。


パフォーマンスが想定を下回る

ビルド時間が改善したかどうかを計測する前に、少なくとも 1 回は IncrediBuild でビルドを実行してください。実行済みのビルドはリモートヘルパー Agent のキャッシュに記録され、以降のビルドでネットワーク トラフィックとファイルのコピー時間を大幅に削減します。


Build Progress のモニターに表示されるタスクバーが少ない、またはコンパイル プロセスが見当たらない

ビルドに IncrediBuild がインターセプトしないプロセスが含まれている可能性があります。Ib_profile.xml でプロセス名を設定して、コンパイルタスクを生成するまでのすべての子プロセスに Intercepted 属性を設定します。

表示例:

  • 上の画像でスクリプト「runbuild.sh」は別のスクリプト「mymake.sh」を実行しており、続いて Linux のカーネル ビルドを実行します。IncrediBuild にとって「mymake.sh」は不明なので、単一の長いタスクと gcc コマンドとして実行されました。この場合、「mymake.sh」を Intercepted として ib_profile.xml に追加すると、gcc コマンドが IncrediBuild によって分散されます。
  • mymake.sh」を ib_profile に Intercepted として追加した場合、下図のビルドモニターに示すような結果となります。

タスクがリモート Agent で頻繁に失敗する

リモート Agent で実行中のタスクが頻繁に失敗する場合は、ルート権限でビルドを実行しているかどうかを確認してください。権限が不足している場合、リモート Agent (ヘルパー) でのタスクは失敗します。


ビルドが想定を下回るヘルパーにしか分散されない

たくさんの Agent があるにもかかわらず、一部の Agent しかビルドに参加していない場合は、同時に処理するタスク数を増やすため -j フラグ (該当する場合) に大きな値を設定してみてください。


ビルド タスクがローカルコアでしか実行されない

タスクがイニシエーター Agent の CPU コア上でのみ実行され、リモート Agent (ヘルパー) で実行されない場合は次をお試しください。

  • カスタムツールやコンパイラを分散して高速化したい場合は、ib_profile.xml のコンパイル プロセス名が「allow_remote」に設定されていることを確認します。
  • ib_profile.xml で親プロセスツリー内のすべての処理に Intercepted のフラグが使われていることを確認します。
  • リモート Agent が [Coordinator Monitor] タブの [Agent Name] 列で [Online (Subscribed)] と表示されていることを確認します。