Please describe the problem.

I was investigating the safety of parallel workers pushing + annex copying to the same original local origin location. It gets stuck (I have not even tried yet that "ssh" option...) and it seems potentially the counter play of 'annex copy' like

yoh      3858496  0.0  0.0   7628  3844 pts/29   S    15:25   0:00  |               \_ /usr/bin/bash -c worker 3
yoh      3861583  0.0  0.0   7984  3936 pts/29   S    15:25   0:00  |               |   \_ git annex copy --to origin file-3-1.txt file-3-2.txt file-3-3.txt file-3-4.txt file-3-5.txt file-common.txt
yoh      3861585  3.7  0.1 1075475816 72956 pts/29 Sl 15:25   0:05  |               |       \_ /usr/bin/git-annex copy --to origin file-3-1.txt file-3-2.txt file-3-3.txt file-3-4.txt file-3-5.txt file-common.txt
yoh      3861886  0.0  0.0   8116  4564 pts/29   S    15:25   0:00  |               |           \_ git --git-dir=.git --work-tree=. --literal-pathspecs cat-file --batch

(of which I have ATM multiple going on)

and 'annex post-receive' hook (of which I have only one) running upon git push

yoh      3858498  0.0  0.0   7628  3764 pts/29   S    15:25   0:00  |               \_ /usr/bin/bash -c worker 4
yoh      3863122  0.0  0.0  17340  4948 pts/29   Sl   15:25   0:00  |               |   \_ git push origin master:br-4
yoh      3863130  0.0  0.0   2692  1912 pts/29   S    15:25   0:00  |               |       \_ /bin/sh -c git-receive-pack '/home/yoh/.tmp/parallel-push-3858314/origin' git-receive-pack '/home/yoh/.tmp/parallel-push-3858314/origin'
yoh      3863134  0.0  0.0  16980  5312 pts/29   Sl   15:25   0:00  |               |           \_ git-receive-pack /home/yoh/.tmp/parallel-push-3858314/origin
yoh      3863172  0.0  0.0   2692  1872 pts/29   S    15:25   0:00  |               |               \_ /bin/sh hooks/post-receive
yoh      3863192  0.0  0.0   7984  4060 pts/29   S    15:25   0:00  |               |                   \_ git annex post-receive
yoh      3863195  0.3  0.0 1074074572 17816 pts/29 Sl 15:25   0:00  |               |                       \_ /usr/bin/git-annex post-receive

What steps will reproduce the problem?

here is a claude-code (with use of LLMs and HI; I did not even review in detail/try yet 'ssh' part coded there) generated script (look or use at your own discretion), on execution of which as ./parallel-push.sh --max-file-size 409600 --max-files 10 40 20 it gets stuck (this is the 4th run I think, consistent stuck at different places) with

copy file-common.txt ok
copy file-12-1.txt (to origin...) (checksum...) ok
(recording state in git...)
clone-12: done (1 files)
Cloning into '/home/yoh/.tmp/parallel-push-3858314/clone-12'...
done.
remote: (recording state in git...)        
remote: (recovering from race...)        
To /home/yoh/.tmp/parallel-push-3858314/origin
 * [new branch]      master -> br-12

What version of git-annex are you using? On what operating system?

this run is with 10.20251029 but I tried bleeding edge standalone build 10.20260213+git57-gffa771e735-1~ndall+1 to the same result but process traces are more garbled so for the benefit of our both HI I pasted from the non-standalone built version