4:65534) [00:00:03] Ports supports: FLAVORS SUBPACKAGES SELECTED_OPTIONS [00:00:03] Acquiring build logs lock for CURRENTamd64-default... done [00:00:04] Logs: /var/poudriere/data/logs/bulk/CURRENTamd64-default/2026-08-10_00h12m11s [00:00:04] Loading MOVED for /var/poudriere/data/.m/CURRENTamd64-default/ref/usr/ports [00:00:04] Gathering ports metadata [00:00:04] Warning: (misc/freebsd-release-manifests): jexec: jail_attach(1): Operation not permitted [00:00:04] Warning: (misc/freebsd-release-manifests): Error: Error looking up dependencies for misc/freebsd-release-manifests [00:00:04] Warning: (ports-mgmt/pkg): jexec: jail_attach(1): Operation not permitted [00:00:04] Warning: (ports-mgmt/portconfig): jexec: jail_attach(1): Operation not permitted [00:00:04] Warning: (ports-mgmt/pkg): Error: Error looking up dependencies for ports-mgmt/pkg [00:00:04] Warning: (ports-mgmt/portconfig): Error: Error looking up dependencies for ports-mgmt/portconfig [00:00:04] Error: /usr/local/share/poudriere/bulk.sh:gather_port_vars:184:Fatal errors encountered gathering ports metadata [CURRENTamd64-default] [2026-08-10_00h12m11s] [crashed] Time: 00:00:01 [00:00:04] Logs: /var/poudriere/data/logs/bulk/CURRENTamd64-default/2026-08-10_00h12m11s A build of 74bd6fb1eb028d15df407efb62628253dab90aa5 with the attached patch works: # poudriere bulk -j CURRENTamd64 -C ports-mgmt/poudriere-devel [00:00:00] Creating the reference jail... done [00:00:01] Mounting system devices for CURRENTamd64-default [00:00:01] Warning: Using packages from previously failed, or uncommitted, build: /var/poudriere/data/packages/CURRENTamd64-default/.building [00:00:01] Mounting ports from: /usr/ports [00:00:01] Mounting packages from: /var/poudriere/data/packages/CURRENTamd64-default [00:00:01] Mounting distfiles from: /usr/ports/distfiles [00:00:01] Appending to make.conf: /usr/local/etc/poudriere.d/make.conf [00:00:01] Appending to make.conf: /usr/local/etc/poudriere.d/CURRENTamd64-make.conf /etc/resolv.conf -> /var/poudriere/data/.m/CURRENTamd64-default/ref/etc/resolv.conf [00:00:01] Starting jail CURRENTamd64-default Updating /var/run/os-release done. [00:00:01] Will build as nobody:nobody (65534:65534) [00:00:02] Ports supports: FLAVORS SUBPACKAGES SELECTED_OPTIONS [00:00:02] Acquiring build logs lock for CURRENTamd64-default... done [00:00:02] Logs: /var/poudriere/data/logs/bulk/CURRENTamd64-default/2026-08-10_00h19m14s [00:00:02] Loading MOVED for /var/poudriere/data/.m/CURRENTamd64-default/ref/usr/ports [00:00:03] Gathering ports metadata [00:00:03] Calculating ports order and dependencies [00:00:03] Sanity checking the repository [00:00:03] -C specified, cleaning listed packages [00:00:03] (-C) Flushing package deletions [00:00:03] Trimming IGNORED and blacklisted ports [00:00:03] Checking packages for incremental rebuild needs [00:00:05] Deleting stale symlinks... done [00:00:05] Deleting empty directories... done [00:00:05] Unqueueing existing packages [00:00:05] Unqueueing orphaned build dependencies [00:00:05] Sanity checking build queue [00:00:06] [CURRENTamd64-default] [2026-08-10_00h19m14s] [pkgqueue_sanity_check] Time: 00:00:03 Queued: 1 Inspected: 0 Ignored: 0 Built: 0 Failed: 0 Skipped: 0 Fetched: 0 Remaining: 1 [00:00:06] Recording filesystem state for prepkg... done [00:00:09] Processing PRIORITY_BOOST [00:00:09] Building 1 packages using up to 1 builders [00:00:09] Hit CTRL+t at any time to see build progress and stats [00:00:09] [01] [00:00:00] Builder starting [00:00:11] [01] [00:00:02] Builder started [00:00:11] [01] [00:00:00] Building ports-mgmt/poudriere-devel | poudriere-devel-3.4.99.20260425 [00:00:21] [01] [00:00:10] Finished ports-mgmt/poudriere-devel | poudriere-devel-3.4.99.20260425: Success [00:00:21] Stopping up to 1 builders [00:00:22] Creating pkg repository Creating repository in /tmp/packages: 100% Packing files for repository: 100% [00:00:29] Committing packages to repository: /var/poudriere/data/packages/CURRENTamd64-default/.real_1786346384 via .latest symlink [00:00:29] Removing old packages [00:00:29] Built ports: ports-mgmt/poudriere-devel [00:00:29] [CURRENTamd64-default] [2026-08-10_00h19m14s] [committing] Time: 00:00:27 Queued: 1 Inspected: 0 Ignored: 0 Built: 1 Failed: 0 Skipped: 0 Fetched: 0 Remaining: 0 [00:00:29] Logs: /var/poudriere/data/logs/bulk/CURRENTamd64-default/2026-08-10_00h19m14s --3346832139-1217368384-1786352024=:1140 Content-Type: TEXT/X-DIFF; CHARSET=us-ascii; NAME=fts.diff2 Content-Disposition: ATTACHMENT; FILENAME=fts.diff2 diff --git a/lib/libc/gen/fts.c b/lib/libc/gen/fts.c index 5f56d169e076..8dd0c28e2620 100644 --- a/lib/libc/gen/fts.c +++ b/lib/libc/gen/fts.c @@ -444,7 +444,7 @@ fts_read(FTS *sp) p->fts_info = fts_stat(sp, p, 1, -1); if (p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) { if ((p->fts_symfd = p->fts_dirfd >= 0 ? - _dup(p->fts_dirfd) : + _fcntl(p->fts_dirfd, F_DUPFD_CLOEXEC) : _open(".", O_RDONLY | O_CLOEXEC, 0)) < 0) { p->fts_errno = errno; p->fts_info = FTS_ERR; @@ -538,7 +538,7 @@ next: tmp = p; if (p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) { if ((p->fts_symfd = p->fts_dirfd >= 0 ? - _dup(p->fts_dirfd) : + _fcntl(p->fts_dirfd, F_DUPFD_CLOEXEC) : _open(".", O_RDONLY | O_CLOEXEC, 0)) < 0) { p->fts_errno = errno; p->fts_info = FTS_ERR; @@ -681,7 +681,7 @@ fts_children(FTS *sp, int instr) return (sp->fts_child = fts_build(sp, instr)); if ((fd = sp->fts_cur->fts_dirfd >= 0 ? - _dup(sp->fts_cur->fts_dirfd) : + _fcntl(sp->fts_cur->fts_dirfd, F_DUPFD_CLOEXEC) : _open(".", O_RDONLY | O_CLOEXEC, 0)) < 0) return (NULL); sp->fts_child = fts_build(sp, instr); @@ -918,7 +918,7 @@ mem1: saved_errno = errno; } p->fts_level = level; - p->fts_dirfd = _dup(_dirfd(dirp)); + p->fts_dirfd = _fcntl(_dirfd(dirp), F_DUPFD_CLOEXEC); p->fts_parent = sp->fts_cur; p->fts_pathlen = len + dnamlen; --3346832139-1217368384-1786352024=:1140--