Skip to content

test_ac18_check_writes_nothing が git の自動保守のロックファイルで時々落ちる #898

Description

@takemi-ohama

何を見つけたか

plugins/ndf/scripts/tests/test_instructions_check.py::test_ac18_check_writes_nothing が継続的統合で 1 度だけ落ちた。検査の前後で一時リポジトリの全ファイルの mtime を比べるが、前の一覧にだけ .git/objects/maintenance.lock が含まれていた。

E  Left contains 1 more item:
E  {PosixPath('.../test_ac18_check_writes_nothing0/repo/.git/objects/maintenance.lock'): 1790146614723028250}

make_repogit commit が裏で起動する自動保守(git maintenance run --auto / gc --auto)がロックを作って消す。その途中で前の一覧を取ると、検査が何も書かなくても差分が出る。並列(-n auto)で負荷が上がると当たりやすい。

どこで見つけたか

PR #897(develop → main、ndf v10.17.1)の継続的統合 pytest (1/2): https://github.com/devbasex/ai-plugins/actions/runs/35829139873/job/107077459405 。失敗したジョブの再実行で扱った。

なぜこの変更の範囲外なのか

PR #897 は正式版 10.17.1 の配布で、差分は承認済みの #891 / #894 / #896 に限る。このテストと make_repo は触っていない。

直さないと何が起きるか

必須の検査 pytest がまれに落ち、配布やマージが再実行待ちで止まる。直し方の候補: 一時リポジトリで git config gc.auto 0 / maintenance.auto false を設定する、または比較から .git/ を外す。

同じ形の再発

由来

PR #897

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: ndf-skillNDF の Skill 本体bugSomething isn't workingpriority: low文書のみ・低頻度など、余力があれば対応する

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions