some-insurance-58590
02/13/2026, 8:06 PMbrief-scientist-13682
02/13/2026, 8:09 PMsome-insurance-58590
02/13/2026, 8:11 PMsome-insurance-58590
02/13/2026, 8:13 PMsome-insurance-58590
02/13/2026, 8:14 PMbrief-scientist-13682
02/13/2026, 8:15 PMbrief-scientist-13682
02/13/2026, 8:17 PMsome-insurance-58590
02/13/2026, 8:18 PMsome-insurance-58590
02/13/2026, 8:18 PMbrief-scientist-13682
02/13/2026, 8:18 PMbrief-scientist-13682
02/13/2026, 8:20 PM$ df
Filesystem 1K-blocks Used Available Use% Mounted on
overlay 3933680272 724180796 3009604644 20% /
tmpfs 65536 0 65536 0% /dev
shm 65536 0 65536 0% /dev/shm
...
Here root / is overlay , for example and /dev/shm is shm.brief-scientist-13682
02/13/2026, 8:21 PM/home/runner/.cache/pantsbrief-scientist-13682
02/13/2026, 8:22 PMGoogle or AI can answer this for meHuge BS to that. No it cannot! Unless it can hack into the machine in question or it has backdored namespace's business or your business?
brief-scientist-13682
02/13/2026, 8:23 PMsome-insurance-58590
02/13/2026, 8:23 PMflockbrief-scientist-13682
02/13/2026, 8:23 PMsome-insurance-58590
02/13/2026, 8:24 PMsh-5.1$ df
Filesystem 1K-blocks Used Available Use% Mounted on
...
/dev/vdi 50471392 23559424 26895584 47% /cache
...
sh-5.1$ mount | grep vdi
/dev/vdi on /cache type ext4 (rw,relatime)
/dev/vdi on /opt/hostedtoolcache type ext4 (rw,relatime)
/dev/vdi on /home/runner/.gradle/caches type ext4 (rw,relatime)
/dev/vdi on /home/runner/.gradle/wrapper type ext4 (rw,relatime)
/dev/vdi on /home/runner/.local/share/pnpm/store/v10 type ext4 (rw,relatime)
/dev/vdi on /home/runner/.cache/nce type ext4 (rw,relatime)
/dev/vdi on /home/runner/.cache/pants/named_caches type ext4 (rw,relatime)brief-scientist-13682
02/13/2026, 8:25 PMgrep /dev/vdi /etc/mtabsome-insurance-58590
02/13/2026, 8:26 PMsh-5.1$ flock /home/runner/.cache/pants/named_caches/.darren echo "testing"
testing
This seemed to worksome-insurance-58590
02/13/2026, 8:26 PMsh-5.1$ grep /dev/vdi /etc/mtab
/dev/vdi /cache ext4 rw,relatime 0 0
/dev/vdi /opt/hostedtoolcache ext4 rw,relatime 0 0
/dev/vdi /home/runner/.gradle/caches ext4 rw,relatime 0 0
/dev/vdi /home/runner/.gradle/wrapper ext4 rw,relatime 0 0
/dev/vdi /home/runner/.local/share/pnpm/store/v10 ext4 rw,relatime 0 0
/dev/vdi /home/runner/.cache/nce ext4 rw,relatime 0 0
/dev/vdi /home/runner/.cache/pants/named_caches ext4 rw,relatime 0 0brief-scientist-13682
02/13/2026, 8:26 PMbrief-scientist-13682
02/13/2026, 8:26 PMbrief-scientist-13682
02/13/2026, 8:28 PMsome-insurance-58590
02/13/2026, 8:29 PMbrief-scientist-13682
02/13/2026, 8:31 PMsome-insurance-58590
02/13/2026, 8:32 PM/home/runner/.cache/pants/named_caches/pex_root/bootstrap_zips after pants test :: was run?some-insurance-58590
02/13/2026, 8:33 PMbrief-scientist-13682
02/13/2026, 8:33 PMbrief-scientist-13682
02/13/2026, 8:33 PMbrief-scientist-13682
02/13/2026, 8:34 PMbrief-scientist-13682
02/13/2026, 8:34 PMbrief-scientist-13682
02/13/2026, 8:39 PM# LHS exists (src) RHS (dest dir) does not exist
:; touch x
:; ls y
ls: cannot access 'y': No such file or directory
:; mv x y~/x
mv: cannot move 'x' to 'y~/x': No such file or directory
:/ mkdir y
:; rm x
:; mv x y~/x
mv: cannot stat 'x': No such file or directory
You can see ls gives extra prefix info identifying which, but the final phrase after last : is the OSError.some-insurance-58590
02/13/2026, 8:39 PMbrief-scientist-13682
02/13/2026, 8:40 PMsome-insurance-58590
02/13/2026, 8:42 PMsome-insurance-58590
02/13/2026, 9:18 PMNo such file or directory this time around - will let you know if I get any better logsbrief-scientist-13682
02/13/2026, 9:21 PMsome-insurance-58590
02/13/2026, 9:22 PMbrief-scientist-13682
02/13/2026, 11:32 PMbrief-scientist-13682
02/14/2026, 2:37 AMsome-insurance-58590
02/17/2026, 2:29 PM[Errno 2] No such file or directory: '/home/runner/.cache/pants/named_caches/pex_root/bootstrap_zips/0/23f6f08a1ef609bba85fd8d67dd6af6ab14d1a98/.bootstrap' -> 'pytest_runner.pex~/.bootstrap'
and running tree tree -a -L 4 on that directory afterwards:
/home/runner/.cache/pants/named_caches/pex_root/bootstrap_zips
└── 0
├── .665f5cc6c9dbc44f942d0ea8bb0f192ba5292a3d.atomic_directory.lck
├── 23f6f08a1ef609bba85fd8d67dd6af6ab14d1a98
│ ├── .un-compressed.atomic_directory.lck
│ └── un-compressed
│ └── .bootstrap
└── 665f5cc6c9dbc44f942d0ea8bb0f192ba5292a3d
└── .bootstrapsome-insurance-58590
02/17/2026, 2:34 PMpex_binary targets used extra_build_args=["--no-compress"] to speed up reloads during local development (and other pex_binary targets didn't). This caused similar issues, so we made all pex_binary use the --no-compress flag
Could this be a conflict between the pytest pex packaging & packaging for our main apps?some-insurance-58590
02/17/2026, 2:40 PMdef our_pex_binary(**kwargs):
# etc...
# etc...
# etc...
pex_binary(
# etc...
# TODO: Enabled for dev for faster reload. We should remove the
# '--no-compress' flag when building a docker image for deployment
# maybe? Need to be careful, if we mix --no-compress & not, we
# get random build failures.
extra_build_args=["--no-compress"],
)
I wonder if we should move this to pants.toml via:
[pex-cli]
global-args = ["--no-compress"]
🤔some-insurance-58590
02/17/2026, 3:06 PMextra_build_args (or at least --no-compress) as part of that hash in the folder name 🤔
If this sounds like a decent idea, I'm happy to open a PR on the appropriate project!brief-scientist-13682
02/17/2026, 4:30 PM--no-compress option & the tree output make it pretty clear this is a Pex bug. Thanks for those details. I'll need to analyze more closely when I get to a keyboard, but I should have a fix out in the by tomorrow latest.brief-scientist-13682
02/17/2026, 5:07 PM# Create a packed PEX with --no-compress:
:; pex --pex-root /tmp/repro --no-compress --layout packed -o repro.pex
repro.pex
# Now attempt to create a standard packed PEX with the same Pex version (the .bootstrap tends to vary by Pex version):
:; pex --pex-root /tmp/repro --layout packed -o repro.pex
[Errno 2] Failed to link /tmp/repro/bootstrap_zips/0/b02d0030281010c1aa3be923a7002e5e62718dcf/.bootstrap -> repro.pex~/.bootstrap: No such file or directory
login: jsirois uid: 1000 gid: 1000
effective: uid: 1000 gid: 1000
groups: [4, 24, 27, 30, 46, 100, 114, 984, 993, 1000]
<unknown path type> err '/tmp/repro/bootstrap_zips/0/b02d0030281010c1aa3be923a7002e5e62718dcf/.bootstrap':
[Errno 2] No such file or directory: '/tmp/repro/bootstrap_zips/0/b02d0030281010c1aa3be923a7002e5e62718dcf/.bootstrap'
dir ok? 'repro.pex~':
mode: 0o40775 (drwxrwxr-x) owner: 1000 group: 1000
os.stat_result(st_mode=16893, st_ino=35952373, st_dev=64513, st_nlink=3, st_uid=1000, st_gid=1000, st_size=4096, st_atime=1771347922, st_mtime=1771347922, st_ctime=1771347922)brief-scientist-13682
02/17/2026, 6:41 PMsome-insurance-58590
02/17/2026, 6:43 PMbrief-scientist-13682
02/17/2026, 6:45 PMbrief-scientist-13682
02/17/2026, 9:49 PM--no-compress as you see fit with no cache issues: https://github.com/pex-tool/pex/releases/tag/v2.90.1some-insurance-58590
02/17/2026, 9:50 PMThese things tend to be easy with good info. Your details were crucialHappy to help where I can
some-insurance-58590
02/20/2026, 5:15 PMbrief-scientist-13682
02/20/2026, 7:19 PM