Lesstep
GitHub Actions・Ubuntu・2026年11月4日に確認

GitHub の Ubuntu のランナーで syscalls:sys_enter_* の BPF がイベントを取りこぼす(カーネル 7.0.0-1017-azure)

GitHub がホストする ubuntu-24.04 のイメージは、イメージ 20261018 でカーネルが 6.17.0-1022-azure から 7.0.0-1017-azure に変わりました。ubuntu-26.04 も、イメージ 20261012.163.1 のころから 7.0.0-1017-azure です。ubuntu-latest はどちらかなので、どちらにしても当たります(26.04 に移っている途中)。このカーネルには「tracing: perf: Fix stale head for perf syscall tracing」(2c2b322acdcc・Linux 7.2)のバックポートが、それが前提とする変更なしに入っています。perf_syscall_enter() が BPF プログラムを確かめる前に戻ってしまうので、execve・openat・write などの syscalls:sys_enter_* のトレースポイントの BPF プログラムは、そのトレースポイントの perf イベントが開かれた CPU でしか動きません(runner-images #15003)。

どう見えるか

読み込みもアタッチも失敗しません。プログラムは動きますが、1つの CPU(たいていは CPU 0)での呼び出しにしか動かないので、4 CPU のランナーではイベントのおよそ4分の3が消えます。リングバッファの取りこぼしの数も recursion_misses も 0 のままです。イベントを待つテストは時間切れになり、どのテストが落ちるかは実行ごとに変わります。スレッドがたまたまどの CPU で動いたかで決まるからです。

報告のあったもの

直し方:eBPF のジョブを ubuntu-22.04 で動かす

jobs:
  ebpf-tests:
    runs-on: ubuntu-22.04

22.04 のイメージのカーネルは 6.8.0-1070-azure で(イメージの readme)、このバックポートは入っていません。ubuntu-24.04 に固定しても直りません。新しいカーネルが入っているのがそのイメージだからです。直ったカーネルがイメージに入るか、GitHub が 22.04 を終えるまで、BPF プログラムを読み込むジョブだけを移します。

runner-images のメンテナーはこれを再現したうえで、ビルドの仕組みでは古いカーネルに固定できず、このためにイメージの更新を止めることもしないと答えています。直しは Ubuntu から来るしかありません。Ubuntu のカーネルには取り消しのパッチが送られていて(SRU のパッチ・10月26日)、Launchpad のバグ 2170225 は11月4日の時点でまだ New でした。上流の 7.0 と 7.1 の安定版はサポートが終わっているので、そちらで直ることはありません。

見分け方

ほかの 26.04 の失敗

失敗したジョブを IntelliJ IDEA から見るなら

Pipeline Inbox for GitHub Actions Workflows は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。すべてのリポジトリの実行を、ジョブ・ステップと一緒に IDE のツールウィンドウに並べ、いまのブランチの実行はステータスバーに出ます。読むのは無料、失敗したジョブの再実行・キャンセル・ワークフローの実行・デプロイのレビューは Pro(月 US$1.50・30日の無料試用つき)です。

JetBrains Marketplace で入れる

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

ほかに:「The ubuntu-latest label will migrate to Ubuntu 26」 · Ubuntu 26.04 の Docker で Postgres が起動しない · IntelliJ IDEA で使える GitHub Actions のプラグインの比較 · English