stable/15-aX file/IO issue after compiling 500 ports

From: Harry Schmalzbauer <freebsd_at_omnilan.de>
Date: Fri, 10 Oct 2025 08:00:17 UTC
Hello, unfortunately I can only report an observation, no detailed 
trackdown yet.

All of a sudden, building ports resp. auto-installing dependecy-builds,
fail with error messages like:
     'chown: /portsworktree/.../work/.../libxyz.a:  no such file'
     or 'bad file descriptor'.

Why I think this is an OS issue:
After reboot, the build successfully completes, while simply re-invoking 
'make' keeps failing without reboot (untouched sources of course).

Also performance seems to degrade over time - will check that and do 
some debitable measures over the weekend hopefully.

What I am using/doing:
I started with ALPHA3, building (X11 desktop stuff like xfce4, librewolf 
and some Qt6 applications) ports in my
build chroot (kernel compiled from stable/15, main userland stable/14, 
chroot is pkgbase stable/15).

It's a KabyLake Xeon with 64G and a single-NVME backed zpool (separate 
from system zpool).

The problem didn't change over updating up to very recent APLPHA5.
It seems to start during Qt6 depencies-builds.
For example a icon dependency port I accidentally saw installing awfully 
slow, and an hour later an arbitrary other dependency stopped with 
'chown: no such file' error.
After reboot, everything continued seamlessly.

Obviously, OpenZFS comes to my mind, but no errors are logged from any 
component when the IO failure happens.

  I've been updating my stable/14 workstation the exactly same way 
(chroot build env) with the exactly same hardware (NVME zpool) without 
any issues.  Compiling and packaging all ~700 ports over and over again, 
without any reboot needed on stable/14.

Please excuse this poor detailed report, but I wanted to make sure 
others an add 'me too' at least if the observe similar suspicious 
failures and it gets some notice before 15.0-RC starts!

-harry

P.S.:

I doubt a degraded flash disk could be the issue, although I'm not able 
to read S.M.A.R.T attributes with smartmontools anymore (not entirely 
sure this worked on stable/14 on /dev/nda1, but I think so):
smartctl /dev/nda1
smartctl 7.5 2025-04-30 r5714 [FreeBSD 15.0-ALPHA5 amd64] (local build)
Copyright (C) 2002-25, Bruce Allen, Christian Franke, www.smartmontools.org

Smartctl open device: /dev/nda1 failed: INQUIRY failed

At least a 'zfs scrub' works in reasonable time:
zpool status
   pool: titanP0
  state: ONLINE
   scan: scrub repaired 0B in 00:05:46 with 0 errors on Fri Oct 10 
09:55:13 2025
config:

     NAME        STATE     READ WRITE CKSUM
     titanP0     ONLINE       0     0     0
       nda1      ONLINE       0     0     0