Parallelle poortruns in meerdere worktrees vallen over elkaars native-assets-lock #1541
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#1541
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Elke git-worktree wijst
.dart_tool/hooks_runner/sharedals symlink naar de map van de hoofdrepo. Daardoor delen alle worktrees één native-assets-lock (shared/dartcv4/.lock) én één CMake-buildmap.Waargenomen op 2026-08-17 met vier gelijktijdige
make check-runs in verschillende worktrees:<worktree A>/…/build/<hash>/CMakeCache.txtis different than the directory<worktree B>/…where CMakeCache.txt was created". De cache staat op naam van de worktree die hem het laatst maakte, dus elke wisseling forceert een volledige herbouw van OpenCV.make checkfaalt dan op een willekeurige poort — check-dead-code, check-method-length, coverage — zonder dat er iets mis is met de wijziging. Dat is de ergste eigenschap: de poort wijst naar de verkeerde plek.Hoe het zo gekomen is: die symlinks zijn in de sessie van 2026-08-17 met de hand aangelegd om een HTTP 429 van GitHub te omzeilen (het OpenCV-archief was niet meer te downloaden, dus een verse worktree kon de native laag niet bouwen). Dat loste het downloadprobleem op en introduceerde dit.
Te kiezen route:
hooks_runner-map per worktree — voorspelbaar, maar kost ~2 GB per worktree én brengt het downloadprobleem terug;make check, zodat runs netjes op elkaar wachten in plaats van elkaars lock te laten aflopen.De gekozen route hoort in
docs/CHECKS.md, inclusief wat hij níet oplost.Gemerged in #1542.
make checkenmake check-fulldraaien nu onderscripts/gate_lock.sh; de route en wat hij níet oplost staan indocs/CHECKS.md.