freebsd / poudriere

Port/Package build and test system
https://github.com/freebsd/poudriere/wiki
BSD 2-Clause "Simplified" License
393 stars 162 forks source link

during bulk random pkgs fail due to poudriere not being able to chmod or chown a dependency during the build due to bad file descriptors #923

Open justfly1111 opened 3 years ago

justfly1111 commented 3 years ago

Prerequisites

Describe the bug

So Im running poudriere in a freebsd-current jail host is running freebsd current likewise

uname -a (HOST):
(fish) >>> uname -a                                                              20:53:16
FreeBSD danornz.justfly.live 14.0-CURRENT FreeBSD 14.0-CURRENT #3 main-n249605-9cce0ef95a0-dirty: Fri Sep 24 10:41:33 EDT 2021     buckbucks@danornz.justfly.live:/usr/obj/usr/src/amd64.amd64/sys/DANORNZ  amd64
(fish) >>>     

uname -a (JAIL RUNNING POUDRIERE)
(fish) >>> sudo jexec poudriere uname -a                                         20:53:17
root's password:
FreeBSD poudriere.justfly.live 14.0-CURRENT FreeBSD 14.0-CURRENT #3 main-n249605-9cce0ef95a0-dirty: Fri Sep 24 10:41:33 EDT 2021     buckbucks@danornz.justfly.live:/usr/obj/usr/src/amd64.amd64/sys/DANORNZ  amd64
(fish) >>>  

the jails performing builds were built via /usr/src directly and also git+https and also base.txz build from make release in /usr/src this error happens with all

So for roughtly 4-5 days after running bullk builds and during them after noticing a failure and reading the error logs roughly one out of give or take 7-8 ports fails while gathering and setting up dependencies for the build due to poudriere not being able to chown or chmod one of the build dependancies and says simply cannot chown yada yada package bad file descriptor. ill copy and paste that portion of the logs i just had i think 6-7 ports fail due to it randomly during a build 👍🏻 👍🏻

a3ps log:

[00:00:17] ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
[00:00:17] ===> Fetching all distfiles required by a2ps-4.13b_13 for building
[00:00:17] ===>  Extracting for a2ps-4.13b_13
[00:00:17] => SHA256 Checksum OK for a2ps-4.13b.tar.gz.
[00:00:24] ===========================================================================
[00:00:24] =======================<phase: patch-depends  >============================
[00:00:24] ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
[00:00:24] ===========================================================================
[00:00:24] =======================<phase: patch          >============================
[00:00:24] ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
[00:00:24] ===>  Patching for a2ps-4.13b_13
[00:00:24] ===>  Applying FreeBSD patches for a2ps-4.13b_13 from /usr/ports/print/a2ps/files
[00:00:25] /usr/bin/sed -i.bak -e 's|^DESTDIR|#DESTDIR|'  `/usr/bin/find /wrkdirs/usr/ports/print/a2ps/work/a2ps-4.13 -name "Makefile.in"`
[00:00:26] ===========================================================================
[00:00:26] =======================<phase: build-depends  >============================
[00:00:26] ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
[00:00:27] ===>   a2ps-4.13b_13 depends on executable: msgfmt - not found
[00:00:27] ===>   Installing existing package /packages/All/gettext-tools-0.21.pkg
[00:00:27] [pkg.justfly.live] Installing gettext-tools-0.21...
[00:00:27] [pkg.justfly.live] `-- Installing gettext-runtime-0.21...
[00:00:27] [pkg.justfly.live] |   `-- Installing indexinfo-0.3.1...
[00:00:27] [pkg.justfly.live] |   `-- Extracting indexinfo-0.3.1: . done
[00:00:27] [pkg.justfly.live] `-- Extracting gettext-runtime-0.21: .......... done
[00:00:30] [pkg.justfly.live] `-- Installing libtextstyle-0.21...
[00:00:30] [pkg.justfly.live] `-- Extracting libtextstyle-0.21: .......... done
[00:00:31] [pkg.justfly.live] Extracting gettext-tools-0.21: .......... done
[00:00:59] ===>   a2ps-4.13b_13 depends on executable: msgfmt - found
[00:00:59] ===>   Returning to build of a2ps-4.13b_13
[00:00:59] ===>   a2ps-4.13b_13 depends on package: perl5>=5.32.r0<5.33 - not found
[00:01:00] ===>   Installing existing package /packages/All/perl5-5.32.1_1.pkg
[00:01:00] [pkg.justfly.live] Installing perl5-5.32.1_1...
[00:01:00] [pkg.justfly.live] Extracting perl5-5.32.1_1: ......
[00:01:32] pkg-static: Fail to set time on /usr/local/lib/perl5/5.32/unicore/lib/Age/.pkgtemp.V51.pl.ThRY5pVj59IM:No such file or directory
[00:01:32] [pkg.justfly.live] Extracting perl5-5.32.1_1... done
[00:01:36]
[00:01:36] Failed to install the following 1 package(s): /packages/All/perl5-5.32.1_1.pkg
[00:01:36] *** Error code 1
[00:01:36]
[00:01:36] Stop.
[00:01:36] make: stopped in /usr/ports/print/a2ps
[00:01:50] =>> Cleaning up wrkdir
[00:01:51] ===>  Cleaning for a2ps-4.13b_13
[00:01:53] build of print/a2ps | a2ps-4.13b_13 ended at Sat Sep 25 20:55:06 EDT 2021
[00:01:53] build time: 00:01:51
[00:01:53] !!! build failure encountered !!!
#

libwpd log:

[00:00:19] ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
[00:00:19] ===> Fetching all distfiles required by libwpd010-0.10.3_4 for building
[00:00:19] ===========================================================================
[00:00:20] =======================<phase: checksum       >============================
[00:00:20] ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
[00:00:20] ===> Fetching all distfiles required by libwpd010-0.10.3_4 for building
[00:00:20] => SHA256 Checksum OK for libwpd-0.10.3.tar.bz2.
[00:00:20] ===========================================================================
[00:00:21] =======================<phase: extract-depends>============================
[00:00:21] ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
[00:00:22] ===========================================================================
[00:00:22] =======================<phase: extract        >============================
[00:00:22] ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
[00:00:23] ===> Fetching all distfiles required by libwpd010-0.10.3_4 for building
[00:00:23] ===>  Extracting for libwpd010-0.10.3_4
[00:00:23] => SHA256 Checksum OK for libwpd-0.10.3.tar.bz2.
[00:00:28] ===========================================================================
[00:00:28] =======================<phase: patch-depends  >============================
[00:00:28] ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
[00:00:28] ===========================================================================
[00:00:28] =======================<phase: patch          >============================
[00:00:28] ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
[00:00:28] ===>  Patching for libwpd010-0.10.3_4
[00:00:29] ===========================================================================
[00:00:29] =======================<phase: build-depends  >============================
[00:00:29] ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
[00:00:29] ===>   libwpd010-0.10.3_4 depends on file: /usr/local/include/boost/spirit/include/qi.hpp - not found
[00:00:29] ===>   Installing existing package /packages/All/boost-libs-1.72.0_5.pkg
[00:00:31] [pkg.justfly.live] Installing boost-libs-1.72.0_5...
[00:00:31] [pkg.justfly.live] `-- Installing icu-69.1,1...
[00:00:31] [pkg.justfly.live] `-- Extracting icu-69.1,1: .......... done
[00:00:43] [pkg.justfly.live] Extracting boost-libs-1.72.0_5:
[00:00:51] pkg-static: Fail to chown /usr/local/include/boost/atomic/detail/.pkgtemp.caps_gcc_ppc.hpp.aDJFroF8B3He:Bad file descriptor
[00:00:51] [pkg.justfly.live] Extracting boost-libs-1.72.0_5... done
[00:00:52]
[00:00:52] Failed to install the following 1 package(s): /packages/All/boost-libs-1.72.0_5.pkg
[00:00:52] *** Error code 1
[00:00:52]
[00:00:52] Stop.
[00:00:52] make: stopped in /usr/ports/textproc/libwpd010
[00:01:04] =>> Cleaning up wrkdir
[00:01:05] ===>  Cleaning for libwpd010-0.10.3_4
[00:01:08] build of textproc/libwpd010 | libwpd010-0.10.3_4 ended at Sat Sep 25 20:37:57 EDT 2021
[00:01:08] build time: 00:01:06
[00:01:08] !!! build failure encountered !!![00:00:19] ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
[00:00:19] ===> Fetching all distfiles required by libwpd010-0.10.3_4 for building
[00:00:19] ===========================================================================
[00:00:20] =======================<phase: checksum       >============================
[00:00:20] ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
[00:00:20] ===> Fetching all distfiles required by libwpd010-0.10.3_4 for building
[00:00:20] => SHA256 Checksum OK for libwpd-0.10.3.tar.bz2.
[00:00:20] ===========================================================================
[00:00:21] =======================<phase: extract-depends>============================
[00:00:21] ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
[00:00:22] ===========================================================================
[00:00:22] =======================<phase: extract        >============================
[00:00:22] ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
[00:00:23] ===> Fetching all distfiles required by libwpd010-0.10.3_4 for building
[00:00:23] ===>  Extracting for libwpd010-0.10.3_4
[00:00:23] => SHA256 Checksum OK for libwpd-0.10.3.tar.bz2.
[00:00:28] ===========================================================================
[00:00:28] =======================<phase: patch-depends  >============================
[00:00:28] ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
[00:00:28] ===========================================================================
[00:00:28] =======================<phase: patch          >============================
[00:00:28] ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
[00:00:28] ===>  Patching for libwpd010-0.10.3_4
[00:00:29] ===========================================================================
[00:00:29] =======================<phase: build-depends  >============================
[00:00:29] ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
[00:00:29] ===>   libwpd010-0.10.3_4 depends on file: /usr/local/include/boost/spirit/include/qi.hpp - not found
[00:00:29] ===>   Installing existing package /packages/All/boost-libs-1.72.0_5.pkg
[00:00:31] [pkg.justfly.live] Installing boost-libs-1.72.0_5...
[00:00:31] [pkg.justfly.live] `-- Installing icu-69.1,1...
[00:00:31] [pkg.justfly.live] `-- Extracting icu-69.1,1: .......... done
[00:00:43] [pkg.justfly.live] Extracting boost-libs-1.72.0_5:
[00:00:51] pkg-static: Fail to chown /usr/local/include/boost/atomic/detail/.pkgtemp.caps_gcc_ppc.hpp.aDJFroF8B3He:Bad file descriptor
[00:00:51] [pkg.justfly.live] Extracting boost-libs-1.72.0_5... done
[00:00:52]
[00:00:52] Failed to install the following 1 package(s): /packages/All/boost-libs-1.72.0_5.pkg
[00:00:52] *** Error code 1
[00:00:52]
[00:00:52] Stop.
[00:00:52] make: stopped in /usr/ports/textproc/libwpd010
[00:01:04] =>> Cleaning up wrkdir
[00:01:05] ===>  Cleaning for libwpd010-0.10.3_4
[00:01:08] build of textproc/libwpd010 | libwpd010-0.10.3_4 ended at Sat Sep 25 20:37:57 EDT 2021
[00:01:08] build time: 00:01:06
[00:01:08] !!! build failure encountered !!![00:00:19] ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
[00:00:19] ===> Fetching all distfiles required by libwpd010-0.10.3_4 for building
[00:00:19] ===========================================================================
[00:00:20] =======================<phase: checksum       >============================
[00:00:20] ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
[00:00:20] ===> Fetching all distfiles required by libwpd010-0.10.3_4 for building
[00:00:20] => SHA256 Checksum OK for libwpd-0.10.3.tar.bz2.
[00:00:20] ===========================================================================
[00:00:21] =======================<phase: extract-depends>============================
[00:00:21] ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
[00:00:22] ===========================================================================
[00:00:22] =======================<phase: extract        >============================
[00:00:22] ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
[00:00:23] ===> Fetching all distfiles required by libwpd010-0.10.3_4 for building
[00:00:23] ===>  Extracting for libwpd010-0.10.3_4
[00:00:23] => SHA256 Checksum OK for libwpd-0.10.3.tar.bz2.
[00:00:28] ===========================================================================
[00:00:28] =======================<phase: patch-depends  >============================
[00:00:28] ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
[00:00:28] ===========================================================================
[00:00:28] =======================<phase: patch          >============================
[00:00:28] ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
[00:00:28] ===>  Patching for libwpd010-0.10.3_4
[00:00:29] ===========================================================================
[00:00:29] =======================<phase: build-depends  >============================
[00:00:29] ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
[00:00:29] ===>   libwpd010-0.10.3_4 depends on file: /usr/local/include/boost/spirit/include/qi.hpp - not found
[00:00:29] ===>   Installing existing package /packages/All/boost-libs-1.72.0_5.pkg
[00:00:31] [pkg.justfly.live] Installing boost-libs-1.72.0_5...
[00:00:31] [pkg.justfly.live] `-- Installing icu-69.1,1...
[00:00:31] [pkg.justfly.live] `-- Extracting icu-69.1,1: .......... done
[00:00:43] [pkg.justfly.live] Extracting boost-libs-1.72.0_5:
[00:00:51] pkg-static: Fail to chown /usr/local/include/boost/atomic/detail/.pkgtemp.caps_gcc_ppc.hpp.aDJFroF8B3He:Bad file descriptor
[00:00:51] [pkg.justfly.live] Extracting boost-libs-1.72.0_5... done
[00:00:52]
[00:00:52] Failed to install the following 1 package(s): /packages/All/boost-libs-1.72.0_5.pkg
[00:00:52] *** Error code 1
[00:00:52]
[00:00:52] Stop.
[00:00:52] make: stopped in /usr/ports/textproc/libwpd010
[00:01:04] =>> Cleaning up wrkdir
[00:01:05] ===>  Cleaning for libwpd010-0.10.3_4
[00:01:08] build of textproc/libwpd010 | libwpd010-0.10.3_4 ended at Sat Sep 25 20:37:57 EDT 2021
[00:01:08] build time: 00:01:06
[00:01:08] !!! build failure encountered !!![00:00:19] ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
[00:00:19] ===> Fetching all distfiles required by libwpd010-0.10.3_4 for building
[00:00:19] ===========================================================================
[00:00:20] =======================<phase: checksum       >============================
[00:00:20] ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
[00:00:20] ===> Fetching all distfiles required by libwpd010-0.10.3_4 for building
[00:00:20] => SHA256 Checksum OK for libwpd-0.10.3.tar.bz2.
[00:00:20] ===========================================================================
[00:00:21] =======================<phase: extract-depends>============================
[00:00:21] ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
[00:00:22] ===========================================================================
[00:00:22] =======================<phase: extract        >============================
[00:00:22] ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
[00:00:23] ===> Fetching all distfiles required by libwpd010-0.10.3_4 for building
[00:00:23] ===>  Extracting for libwpd010-0.10.3_4
[00:00:23] => SHA256 Checksum OK for libwpd-0.10.3.tar.bz2.
[00:00:28] ===========================================================================
[00:00:28] =======================<phase: patch-depends  >============================
[00:00:28] ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
[00:00:28] ===========================================================================
[00:00:28] =======================<phase: patch          >============================
[00:00:28] ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
[00:00:28] ===>  Patching for libwpd010-0.10.3_4
[00:00:29] ===========================================================================
[00:00:29] =======================<phase: build-depends  >============================
[00:00:29] ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
[00:00:29] ===>   libwpd010-0.10.3_4 depends on file: /usr/local/include/boost/spirit/include/qi.hpp - not found
[00:00:29] ===>   Installing existing package /packages/All/boost-libs-1.72.0_5.pkg
[00:00:31] [pkg.justfly.live] Installing boost-libs-1.72.0_5...
[00:00:31] [pkg.justfly.live] `-- Installing icu-69.1,1...
[00:00:31] [pkg.justfly.live] `-- Extracting icu-69.1,1: .......... done
[00:00:43] [pkg.justfly.live] Extracting boost-libs-1.72.0_5:
[00:00:51] pkg-static: Fail to chown /usr/local/include/boost/atomic/detail/.pkgtemp.caps_gcc_ppc.hpp.aDJFroF8B3He:Bad file descriptor
[00:00:51] [pkg.justfly.live] Extracting boost-libs-1.72.0_5... done
[00:00:52]
[00:00:52] Failed to install the following 1 package(s): /packages/All/boost-libs-1.72.0_5.pkg
[00:00:52] *** Error code 1
[00:00:52]
[00:00:52] Stop.
[00:00:52] make: stopped in /usr/ports/textproc/libwpd010
[00:01:04] =>> Cleaning up wrkdir
[00:01:05] ===>  Cleaning for libwpd010-0.10.3_4
[00:01:08] build of textproc/libwpd010 | libwpd010-0.10.3_4 ended at Sat Sep 25 20:37:57 EDT 2021
[00:01:08] build time: 00:01:06
[00:01:08] !!! build failure encountered !!!

aalib log

# cd logs/errors
# ls
aalib-1.4.r5_13.log     libtheora-1.1.1_7.log
flac-1.3.3_1.log        p5-LWP-MediaTypes-6.04.log
librsvg2-rust-2.50.3_6.log  p5-URI-5.09.log
# tail -n 40 aalib*
[00:00:14] ===> Fetching all distfiles required by aalib-1.4.r5_13 for building
[00:00:15] ===>  Extracting for aalib-1.4.r5_13
[00:00:15] => SHA256 Checksum OK for aalib-1.4rc5.tar.gz.
[00:00:15] ===========================================================================
[00:00:15] =======================<phase: patch-depends  >============================
[00:00:15] ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
[00:00:15] ===========================================================================
[00:00:16] =======================<phase: patch          >============================
[00:00:16] ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
[00:00:16] ===>  Patching for aalib-1.4.r5_13
[00:00:16] ===>  Applying FreeBSD patches for aalib-1.4.r5_13 from /usr/ports/graphics/aalib/files
[00:00:16] ===========================================================================
[00:00:16] =======================<phase: build-depends  >============================
[00:00:16] ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
[00:00:17] ===>   aalib-1.4.r5_13 depends on file: /usr/local/bin/makeinfo - not found
[00:00:17] ===>   Installing existing package /packages/All/texinfo-6.8,1.pkg
[00:00:17] [pkg.justfly.live] Installing texinfo-6.8,1...
[00:00:17] [pkg.justfly.live] `-- Installing gettext-runtime-0.21...
[00:00:17] [pkg.justfly.live] |   `-- Installing indexinfo-0.3.1...
[00:00:17] [pkg.justfly.live] |   `-- Extracting indexinfo-0.3.1: . done
[00:00:17] [pkg.justfly.live] `-- Extracting gettext-runtime-0.21: .......... done
[00:00:18] [pkg.justfly.live] `-- Installing p5-Locale-libintl-1.32...
[00:00:18] [pkg.justfly.live] |   `-- Installing libiconv-1.16...
[00:00:18] [pkg.justfly.live] |   `-- Extracting libiconv-1.16: .......... done
[00:00:19] [pkg.justfly.live] |   `-- Installing perl5-5.32.1_1...
[00:00:19] [pkg.justfly.live] |   `-- Extracting perl5-5.32.1_1: .......... done
[00:00:59] [pkg.justfly.live] `-- Extracting p5-Locale-libintl-1.32: ..
[00:01:00] pkg-static: Fail to chown /usr/local/lib/perl5/site_perl/Locale/RecodeData/.pkgtemp.IBM437.pm.DjMFvMfQvnaC:Bad file descriptor
[00:01:00] [pkg.justfly.live] `-- Extracting p5-Locale-libintl-1.32... done
[00:01:00]
[00:01:00] Failed to install the following 1 package(s): /packages/All/texinfo-6.8,1.pkg
[00:01:00] *** Error code 1
[00:01:00]
[00:01:00] Stop.
[00:01:00] make: stopped in /usr/ports/graphics/aalib
[00:01:06] =>> Cleaning up wrkdir
[00:01:06] ===>  Cleaning for aalib-1.4.r5_13
[00:01:07] build of graphics/aalib | aalib-1.4.r5_13 ended at Sat Sep 25 20:08:28 EDT 2021
[00:01:07] build time: 00:01:05
[00:01:07] !!! build failure encountered !!!
#

same thing with the rest of the ports in this error/log dir

# ls
aalib-1.4.r5_13.log     libtheora-1.1.1_7.log
flac-1.3.3_1.log        p5-LWP-MediaTypes-6.04.log
librsvg2-rust-2.50.3_6.log  p5-URI-5.09.log
#

It seems that the its choosing random files to have bad descriptors cause as you can see building the same pkg_list file as the build before that i stop that based on the output bellow its completely different packages with bad filedescriptors

# cd ../../../latest/logs/errors
# ls
a2ps-4.13b_13.log   libwpd010-0.10.3_4.log
#

Anyone else having anytype of issues like this or anyone see anything remotely like this im building as root/wheel now i switched to it the first time i got a bad file discriptor could not chown of a package because i assumed it had to involve permissions orr lack of permissions to nobody/nobody which it doesnt but incase i kept rolling with building as root to ensure i kept permision and continue to see these errors and its annoying af to say the least hope someonen knowss what is causing this thank you your time is greatly appreciated

btw i am running poudriere version:

# poudriere version
poudriere-git-3.4-pre
# poudriere status
SET PORTS JAIL        BUILD                STATUS         QUEUE BUILT FAIL SKIP IGNORE FETCH REMAIN TIME     URL
-   main  current_x64 2021-09-25_20h24m08s parallel_build   315    56    2    3      0    27    227 00:49:19 http://pkg.justfly.live/build.html?mastername=current_x64-main&build=2021-09-25_20h24m08s
#

How to reproduce

Steps to reproduce the behavior: run any poudriere bulk buid

jexec poudriere jail -u -j current_x64
jexec poudriere ports -u -p main
jexec poudriere options -c -j current_x64 -f \
~/poudriere/pkg_lists/printlist
jexec poudriere bulk -j current_x64 -f \
~/poudriere/pkg_lists/printlist

see failures and skipped packages due to missing packages and see was caused because couldnt run chmod or chown cause of bad file descriptor when it should run compile and package wwith no hiccups or errors

Expected behavior

for poudriere to build all pkgs in my pkglist flawlessly and for there not to be any errors due to bad file descriptors

Screenshots

## Environment - Host OS [e.g. 12.2 amd64]: FreeBSD:14:amd64 current - Jail OS [e.g. 12.0 powerpc]: FreeBSD:14:amd64 current - Browser: [e.g. chrome, safari]: n/a - Poudriere Version [e.g. 3.3.1 or git hash or port version]: poudriere-git-3.4-pre - Ports branch and revision [e.g. 2020Q3 r550754]: master/head git.freebsd.org/ports.git ## Additional context im at my wits end trying to come to a cause and after 4 going on 5 days its driving me insane hopefully someone has some experience fixing this issue or has atleast seen it or has even sometype of intuition or even a preminition or a hunch as to whats the cause of theissue going on here. just incase to preclude hw issue / zfs issue heres the output of zpool status and iostat to check for erorors ``` scan: scrub repaired 0B in 00:21:57 with 0 errors on Tue Aug 24 01:44:37 2021 config: NAME STATE READ WRITE CKSUM zrepo ONLINE 0 0 0 gpt/zrepo0 ONLINE 0 0 0 gpt/zrepo1 ONLINE 0 0 0 errors: No known data errors # errors: No known data errors # zpool iostat capacity operations bandwidth pool alloc free read write read write ---------- ----- ----- ----- ----- ----- ----- zrepo 59.3G 289G 459 175 7.54M 10.6M # ``` ``` and zfs list in the jail NAME USED AVAIL REFER MOUNTPOINT zrepo 58.8G 278G 116K /repo zrepo/portshaker 7.97G 278G 96K /repo/portshaker zrepo/portshaker/cache 7.96G 278G 144K /var/cache/portshaker zrepo/portshaker/cache/custom 1.35G 278G 783M /var/cache/portshaker/custom zrepo/portshaker/cache/enlightenment 600K 278G 96K /var/cache/portshaker/enlightenment zrepo/portshaker/cache/freebsd 2.87G 278G 812M /var/cache/portshaker/freebsd zrepo/portshaker/cache/gecko 7.40M 278G 3.57M /var/cache/portshaker/gecko zrepo/portshaker/cache/github_justfly1111_buckbucks-kingdom 798M 278G 78.0M /var/cache/portshaker/github_justfly1111_buckbucks-kingdom zrepo/portshaker/cache/github_justfly1111_freebsd-ports 1.40G 278G 782M /var/cache/portshaker/github_justfly1111_freebsd-ports zrepo/portshaker/cache/github_justfly111_freebsd-ports 600K 278G 96K /var/cache/portshaker/github_justfly111_freebsd-ports zrepo/portshaker/cache/haskell 20.7M 278G 9.88M /var/cache/portshaker/haskell zrepo/portshaker/cache/marcuscom_ports 28.1M 278G 15.6M /var/cache/portshaker/marcuscom_ports zrepo/portshaker/cache/portsnap 1.51G 278G 740M /var/cache/portshaker/portsnap zrepo/poudriere 50.5G 278G 5.79M /repo/poudriere zrepo/poudriere/buckbucks-domain 1.90G 278G 1.76G /opt/ports/buckbucks-domain zrepo/poudriere/data 21.3G 278G 1.59G /repo/poudriere/data zrepo/poudriere/data/.m 1.55M 278G 168K /repo/poudriere/data/.m zrepo/poudriere/data/cache 121M 278G 46.6M /repo/poudriere/data/cache zrepo/poudriere/data/logs 2.44G 278G 1.10G /repo/poudriere/data/logs zrepo/poudriere/data/packages 8.04G 278G 1.51G /repo/poudriere/data/packages zrepo/poudriere/data/packages/14amd64-default 6.52G 278G 4.78G /repo/poudriere/data/packages/14amd64-default zrepo/poudriere/data/wrkdirs 9.10G 278G 8.81G /repo/poudriere/data/wrkdirs zrepo/poudriere/jails 16.8G 278G 136K /repo/poudriere/jails zrepo/poudriere/jails/13_0_amd64 1.50G 278G 1.50G /repo/poudriere/jails/13_0_amd64 zrepo/poudriere/jails/13i386 2.12G 278G 1.74G /repo/poudr: iere/jails/13i386 zrepo/poudriere/jails/14amd-pkgbase 1.75G 278G 1.74G /repo/poudriere/jails/14amd-pkgbase zrepo/poudriere/jails/14amd64 1.92G 278G 1.52G /repo/poudriere/jails/14amd64 zrepo/poudriere/jails/14img64 2.90G 278G 1.46G /repo/poudriere/jails/14img64 zrepo/poudriere/jails/14kern64 1.75G 278G 1.74G /repo/poudriere/jails/14kern64 zrepo/poudriere/jails/current_x64 430M 278G 430M /repo/poudriere/jails/current_x64 zrepo/poudriere/jails/current_x64-main-ref 4.48G 278G 506M /repo/poudriere/data/.m/current_x64-main/ref zrepo/poudriere/jails/current_x64-main-ref/01 548M 278G 1.02G /repo/poudriere/data/.m/current_x64-main/01 zrepo/poudriere/jails/current_x64-main-ref/02 313M 278G 818M /repo/poudriere/data/.m/current_x64-main/02 zrepo/poudriere/jails/current_x64-main-ref/03 230M 278G 723M /repo/poudriere/data/.m/current_x64-main/03 zrepo/poudriere/jails/current_x64-main-ref/04 230M 278G 722M /repo/poudriere/data/.m/current_x64-main/04 zrepo/poudriere/jails/current_x64-main-ref/05 519M 278G 1017M /repo/poudriere/data/.m/current_x64-main/05 zrepo/poudriere/jails/current_x64-main-ref/06 199M 278G 696M /repo/poudriere/data/.m/current_x64-main/06 zrepo/poudriere/jails/current_x64-main-ref/07 52.6M 278G 558M /repo/poudriere/data/.m/current_x64-main/07 zrepo/poudriere/jails/current_x64-main-ref/08 326M 278G 830M /repo/poudriere/data/.m/current_x64-main/08 zrepo/poudriere/jails/current_x64-main-ref/09 91.6M 278G 597M /repo/poudriere/data/.m/current_x64-main/09 zrepo/poudriere/jails/current_x64-main-ref/10 726M 278G 1.20G /repo/poudriere/data/.m/current_x64-main/10 zrepo/poudriere/jails/current_x64-main-ref/11 406M 278G 910M /repo/poudriere/data/.m/current_x64-main/11 zrepo/poudriere/jails/current_x64-main-ref/12 255M 278G 760M /repo/poudriere/data/.m/current_x64-main/12 zrepo/poudriere/jails/current_x64-main-ref/13 215M 278G 721M /repo/poudriere/data/.m/current_x64-main/13 zrepo/poudriere/jails/current_x64-main-ref/14 121M 278G 626M /repo/poudriere/data/.m/current_x64-main/14 zrepo/poudriere/jails/current_x64-main-ref/15 259M 278G 765M /repo/poudriere/data/.m/current_x64-main/15 zrepo/poudriere/jails/current_x64-main-ref/16 17.3M 278G 523M /repo/poudriere/data/.m/current_x64-main/16 zrepo/poudriere/opt 5.82G 278G 1.33G /opt zrepo/poudriere/opt/ports 2.29G 278G 1.54G /opt/ports zrepo/poudriere/ports 4.61G 278G 120K /repo/poudriere/ports zrepo/poudriere/opt/ports 2.29G 278G 1.54G /opt/ports zrepo/poudriere/ports 4.61G 278G 120K /repo/poudriere/ports zrepo/poudriere/ports/baseports 808M 278G 808M /repo/poudriere/ports/baseports zrepo/poudriere/ports/git-https 910M 278G 834M /repo/poudriere/ports/git-https zrepo/poudriere/ports/git-ssh 809M 278G 809M /repo/poudriere/ports/git-ssh zrepo/poudriere/ports/latest 809M 278G 809M /repo/poudriere/ports/latest zrepo/poudriere/ports/merged 207M 278G 877M /repo/poudriere/ports/merged zrepo/poudriere/ports/optimized 252M 278G 742M /repo/poudriere/ports/main zrepo/poudriere/ports/portsnap 919M 278G 919M /repo/poudriere/ports/portsnap (END) ``` Fingers crossed someone has someidea as to a cause and or a fix
justfly1111 commented 3 years ago

really noone else having tthis issue? its driving me nuts ...

bdrewery commented 3 years ago
[00:01:00] pkg-static: Fail to chown /usr/local/lib/perl5/site_perl/Locale/RecodeData/.pkgtemp.IBM437.pm.DjMFvMfQvnaC:Bad file descriptor

This looks like a problem with pkg not Poudriere.

bdrewery commented 3 years ago

What version of pkg is in your repository?

These are not sufficient. Please specify the exact versions/hashes for Poudriere and ports.

Poudriere Version [e.g. 3.3.1 or git hash or port version]:
poudriere-git-3.4-pre
Ports branch and revision [e.g. 2020Q3 r550754]: master/head git.freebsd.org/ports.git
# poudriere version
poudriere-git-3.4-pre

In particular poudriere version should not be returning 3.4-pre if it came from the port or git. It has not said that since 2017 53b229ce0190a9e350ba0e6a7ca0cd54dc26fabc https://github.com/freebsd/freebsd-ports/commit/39d6b0f4d78ff43de5bd77605ea2dd1297c3ba2e.

justfly1111 commented 3 years ago

its the poudriere from the tarball that you wiki has me fetch i forget if its in the running poudriere in a jail or using portshaker its from https://github.com/freebsd/poudriere/releases/master.tar.gz u think let me try ad find out its from one of the wiki articles that says to fetch poudriere from the void so im to asume that hadsnt been updated in along time.... how would you recommend i update it im looking at its makefile and source and all have 1994-2020 copywrites so it cant be that out dated from 2017 especially when it makes use of the pkg fetch option which is fairly recent if i recall but im just going to kill my current build and update to cloning the current master branch and installling real quickly and pray it no longer happens

heliosyne commented 3 years ago

[00:00:51] pkg-static: Fail to chown /usr/local/include/boost/atomic/detail/.pkgtemp.caps_gcc_ppc.hpp.aDJFroF8B3He:Bad file descriptor

This is probably the volume out of space or a corrupted jail if it's a reproducible error.

justfly1111 commented 3 years ago

ive made fresh poudriere jails about 4 diff ones diff options of creating them @heliosyne and have plenty of space zpool iostat capacity operations bandwidth pool alloc free read write read write


zrepo 70.4G 278G 319 64 4.01M 3.70M #

bdrewery commented 3 years ago

its the poudriere from the tarball that you wiki has me fetch i forget if its in the running poudriere in a jail or using portshaker its from https://github.com/freebsd/poudriere/releases/master.tar.gz u think let me try ad find out its from one of the wiki articles that says to fetch poudriere from the void so im to asume that hadsnt been updated in along time....

Yes, I've changed that to say pkg install poudriere.

how would you recommend i update it im looking at its makefile and source and all have 1994-2020 copywrites so it cant be that out dated from 2017 especially when it makes use of the pkg fetch option which is fairly recent if i recall but im just going to kill my current build and update to cloning the current master branch and installling real quickly and pray it no longer happens

The copyrights are not well maintained. Good idea on remaking it. Did you use the FreeBSD 10 jail like that wiki suggested? That might be related to the issues here but I'm not sure.

justfly1111 commented 3 years ago

@bdrewery noo am using current built from /usr/src in one jail then current built from base.tar.gz created from /usr/src/release and then another is a current jail built from git+https i been looking and looking into it it seems that it has something to do with chown or chmod files to a nonexistent user or group in the jails that is my best guess at whats causing the issue when i saw that the poudriere fetching from the void with master.tar.gz had a newer poudriere version then building from the master branch i thought i stubled uponn treasure guess not lol but since ive rebuilt poudriere from the master branch and done all the suggestions and still having the issuethats how i came up with the prognosis that its deriving from nonexistant users/groupps in the jails but what do i know its probabyly somethng else as simple as meadding or removing a trailing / or something not quite sure wherre to goo from here its more annoying than anything cause half the time on the next rebuild attempt itll build fine and a diff package willl fail for the same reason it just seems so random

grahamperrin commented 1 year ago

lang/perl5.32: pkg-static: Fail to chown /5.32/unicore/lib/Upper/Y.pl:Bad file descriptor whilst poudriere built x11/xkeyboard-config

Command:

poudriere bulk -j 1049 -b latest -J 8 emulators/virtualbox-ose

From file:///usr/local/poudriere/data/logs/bulk/1049-default/latest/logs/errors/xkeyboard-config-2.34_2.log:

…
===>   Returning to build of xkeyboard-config-2.34_2
===>   xkeyboard-config-2.34_2 depends on package: perl5>=5.32.r0<5.33 - not found
===>   Installing existing package /packages/All/perl5-5.32.1_3.pkg
[1049-default-job-07] Installing perl5-5.32.1_3...
[1049-default-job-07] Extracting perl5-5.32.1_3: .......
pkg-static: Fail to chown /5.32/unicore/lib/Upper/Y.pl:Bad file descriptor
[1049-default-job-07] Extracting perl5-5.32.1_3... done

Failed to install the following 1 package(s): /packages/All/perl5-5.32.1_3.pkg
*** Error code 1

Stop.
…

With the subsequent run of the same command:

Environment

root@mowa219-gjp4-8570p-freebsd:~ # poudriere jail -i -j 1049
Jail name:         1049
Jail version:      14.0-CURRENT
Jail arch:         amd64
Jail method:       url=https://download.freebsd.org/snapshots/amd64/amd64/14.0-CURRENT
Jail mount:        /usr/local/poudriere/jails/1049
Jail fs:           august/poudriere/jails/1049
Jail updated:      2023-04-30 17:29:21
Jail pkgbase:      disabled
root@mowa219-gjp4-8570p-freebsd:~ # 

emulators/virtualbox-ose is patched as outlined at https://github.com/freebsd/poudriere/discussions/1049, I don't imagine that this patching is relevant.

netfenceventu commented 1 year ago

Just a me too... I'm using 13.2/amd64 and it all started after I upgraded from 13.1.

batrachian commented 7 months ago

Just started seeing these. Happens randomly and not repeatable.
This is on a box just upgraded from 12 to 13.3-RELEASE that is also seeing Bug 275594 - High CPU usage by arc_prune; analysis and fix which was first noticed during poudriere runs while building rust.

ETA: 64GB RAM, >500GB available ZFS, seen during even small poudriere runs - e.g. a dozen small ports.

grepping the poudriere logs returns no instances while the box had 11-R or 12-R.

Also found that while it is random, there appear to be a few repeatable contenders for triggering it, and appears to always occur during 'extract' (which I believe is also a trigger for e.g. rust in the 275594 Bug).

So far it has been:

===>   Installing existing package /packages/All/cmake-core-3.28.3.pkg
 ...
[13Ramd64-foo-job-08] Extracting cmake-core-3.28.3: .....
pkg-static: Fail to chown /Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst:Bad file descriptor

===>   Installing existing package /packages/All/cmake-core-3.28.3.pkg
 ...
[13Ramd64-foo-job-08] Extracting cmake-core-3.28.3: .
pkg-static: Fail to chown /Help/module/FindOpenMP.rst:Bad file descriptor

===>   Installing existing package /packages/All/cmake-core-3.28.3.pkg
 ...
[13Ramd64-foo-job-08] Extracting cmake-core-3.28.3: .
pkg-static: Fail to chown /Help/module/FindOpenMP.rst:Bad file descriptor

===>   Installing existing package /packages/All/cmake-core-3.28.3.pkg
 ...
[13Ramd64-foo-job-08] Extracting cmake-core-3.28.3: .....
pkg-static: Fail to chown /Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst:Bad file descriptor

===>   Installing existing package /packages/All/py39-setuptools-rust-1.9.0.pkg
 ...
[13Ramd64-foo-job-03] `-- Extracting rust-1.77.0: ......
pkg-static: Fail to chown /html/core/core_arch/x86/avx512f/fn._mm512_moveldup_ps.html:Bad file descriptor

===>   Installing existing package /packages/All/py39-setuptools-rust-1.9.0.pkg
 ...
[13Ramd64-foo-job-03] `-- Extracting rust-1.77.0: ......
pkg-static: Fail to chown /html/core/core_arch/x86/avx512f/fn._mm512_moveldup_ps.html:Bad file descriptor

===>   Installing existing package /packages/All/mariadb105-server-10.5.23.pkg
 ...
[13Ramd64-foo-job-01] |   `-- Extracting boost-libs-1.84.0: ........
pkg-static: Fail to chown /tti/detail/dtemplate_params.hpp:Bad file descriptor

===>   Installing existing package /packages/All/mariadb105-server-10.5.23.pkg
 ...
[13Ramd64-foo-job-01] |   `-- Extracting boost-libs-1.84.0: ........
pkg-static: Fail to chown /tti/detail/dtemplate_params.hpp:Bad file descriptor

===>   Installing existing package /packages/All/py39-setuptools-63.1.0_1.pkg
 ...
[13Ramd64-foo-job-03] `-- Extracting python39-3.9.18_2: .......
pkg-static: Fail to chown /test/test_asyncio/__pycache__/utils.cpython-39.opt-1.pyc:Bad file descriptor

===>   Installing existing package /packages/All/py39-setuptools-63.1.0_1.pkg
 ...
[13Ramd64-foo-job-03] `-- Extracting python39-3.9.18_2: .......
pkg-static: Fail to chown /test/test_asyncio/__pycache__/utils.cpython-39.opt-1.pyc:Bad file descriptor
grahamperrin commented 1 month ago

https://github.com/freebsd/poudriere/issues/923#issuecomment-1529089065 (2023-04-30):

Jail version: 14.0-CURRENT

I don't recall encountering the symptom more than once.

Re: https://freshbsd.org/freebsd/src/commit/aee253d8a7aea40189f8ca74138d6bed10948b1e I would have begun using 15.0-CURRENT in August last year.

grahamperrin commented 1 month ago

https://github.com/freebsd/poudriere/issues/923#issuecomment-928244668 (2021-09-27):

This looks like a problem with pkg

FWIW:

At a glance, 2279 is more thought-provoking.

@bdrewery if both are completely unrelated, please hide this comment as off-topic. Thanks.