Lesstep
Bitbucket Cloud・Pipelines・2026年10月29日に確認

Bitbucket Pipelines:「There was an unexpected system error that may have left your step half-completed」

ステップのログの横に出るメッセージは、続けて「To solve this error, check your step progress and rerun it if you see fit.」と言います(ステップの進み具合を確かめ、よければやり直してください)。失敗したのは自分のコマンドではありません。ステップが動いていたコンテナが、ビルドの途中で消えました。Bitbucket にはステップがどこまで進んだかが分からないので、自分ではやり直しません。こちらが見て、やり直します。

コンテナが消えた理由

このメッセージについての Atlassian の記事(Pipeline build failed with "unexpected system error...")によると、いちばん多いのはセルフホストのランナーで、原因には次のようなものがあります:

ステップ自身のメモリの上限を超えたときは、別のメッセージ「Container 'Build' exceeded memory limit.」で終わります。こちらは、その下の機械の話です。

ステップがどこまで進んだかを見る

Pipelines には、どのコマンドまで終わったかが分かりません。やり直す前に、ステップのログで最後に動いたコマンドを見ます。デプロイ・公開・データベースの移行をするステップは、半分だけ済んでいるかもしれません。やり直して安全なのは、どのコマンドも2回動かしてよいときだけです。そうでなければ、先に半分を手で済ませるか、元に戻します。

ランナーのホストを見る

Atlassian は、ビルドが動いている間にランナーのホストのメモリ・ディスク・ネットワークを見ること、ビルドのログに加えてランナーのログも読むことを勧めています。Linux のホストなら:

df -h            # ディスクの残り
free -m          # メモリとスワップ
journalctl -k |
  grep -i "out of memory"
docker system df # Docker が使う容量

journalctl -k はカーネルのメッセージを出します。そこに「Out of memory: Killed process」があれば、Linux がメモリを空けるためにプロセスを止めています。Docker のランナーでは、古いイメージ・コンテナ・ビルドキャッシュがだんだんディスクを埋めます。docker system prune は、止まったコンテナ・使っていないネットワーク・名前の無いイメージ・使っていないビルドキャッシュを消します。見つけた原因を直してから、やり直します。何度も出て原因が分からないときは、パイプラインの URL とランナーのログを付けてサポートに問い合わせるよう、Atlassian は書いています。

失敗したステップだけをやり直す

Atlassian の View your pipeline から:失敗したパイプラインの Rerun には2つの選び方があります。

アーティファクトは14日間しか残らないので、アーティファクトを使うステップをやり直せるのはその間だけです。

IntelliJ IDEA で理由を見て、もう一度動かす

Pipeline Inbox for Bitbucket Pipelines は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。Bitbucket Cloud の全部のリポジトリのパイプラインを IDE のツールウィンドウに並べます。Bitbucket がエラーでステップを終え、その理由を返したときは、理由と、そのとき動いていたコマンドと、その最後の数行を見せるので、ステップがどこまで進んだかが分かります。Pro なら Run again で、同じパイプラインを同じコミットで IDE からもう一度動かせます(Rerun entire pipeline と同じく、新しいパイプラインになります)。一覧・ステップ・ログは無料。実行・やり直し・停止は Pro(月 US$1.50・30日の無料試用つき)。

JetBrains Marketplace で入れる

Atlassian・Bitbucket・Bitbucket Pipelines は Atlassian の商標、Docker は Docker, Inc. の商標、Linux は Linus Torvalds の登録商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは Atlassian・Docker・JetBrains のいずれとも提携しておらず、承認も受けていません。

ほかに:キャッシュが効かない · push したのに Pipelines が動かない · 「Exceeded build time limit of 120 minutes」 · 「Container 'Build' exceeded memory limit.」 · 「Container 'docker' exceeded memory limit.」 · 「command not found」 · サブモジュールを取ってこない · 「We couldn't clone the repository」 · 「No online runner available」 · 「No space left on device」 · 「Step exceeded processing limits」 · 次のステップにアーティファクトが無い · 前は通ったビルドが今は落ちる · Build setup に時間がかかる · ビルド時間を使い切った · 「Permission denied to update branch」 · 「You have reached your pull rate limit」(Docker Hub) · 「There is an error in your bitbucket-pipelines.yml」 · 「This pipeline was paused」(デプロイ) · IntelliJ IDEA の Bitbucket Pipelines 用プラグインの比較 · English