Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Apr 2024 23:59:39 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        FreeBSD Mailing List <freebsd-ports@freebsd.org>, Bryan Drewery <bdrewery@FreeBSD.org>
Subject:   USE_TMPFS=all context: poudriere bulk -a fails for the tmpfs : /usr/local/poudriere/data/.m/main-amd64-bulk_a-default/ref/.p having no space left
Message-ID:  <6C0D3228-D035-43E2-AA86-2E4AAADB9A13@yahoo.com>
References:  <6C0D3228-D035-43E2-AA86-2E4AAADB9A13.ref@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
# poudriere version
poudriere-git-3.4.99.20240419

Note the "1024 1024 0 100%" for =
/usr/local/poudriere/data/.m/main-amd64-bulk_a-default/ref/.p
It is the only "Avail" being near or at 0.

# df -m
Filesystem                                                             =
1M-blocks   Used  Avail Capacity  Mounted on
zoptb/ROOT/main-amd64                                                    =
 667579   4902 662676     1%    /
. . .
tmpfs                                                                    =
   1024   1024      0   100%    =
/usr/local/poudriere/data/.m/main-amd64-bulk_a-default/ref/.p
/usr/ports                                                               =
 667677   5001 662676     1%    =
/usr/local/poudriere/data/.m/main-amd64-bulk_a-default/ref/usr/ports
/usr/local/poudriere/data/packages/main-amd64-bulk_a-default/.building   =
 797764 135087 662676    17%    =
/usr/local/poudriere/data/.m/main-amd64-bulk_a-default/ref/packages
/usr/ports/distfiles                                                     =
 667677   5001 662676     1%    =
/usr/local/poudriere/data/.m/main-amd64-bulk_a-default/ref/distfiles
tmpfs                                                                    =
 707954      0 707954     0%    =
/usr/local/poudriere/data/.m/main-amd64-bulk_a-default/ref/var/db/portspou=
dreire=20


The actual errors that show up start after "Gathering ports metadata":

[00:00:01] [Dry Run] Loading MOVED for =
/usr/local/poudriere/data/.m/main-amd64-bulk_a-default/ref/usr/ports
[00:00:01] [Dry Run] Gathering ports metadata
[00:00:15] [Dry Run] Warning: (sysutils/pacman): make: =
"/usr/ports/Mk/bsd.options.mk" line 480: Unknown modifier "local//"
[00:00:15] [Dry Run] Warning: (sysutils/pacman): make: =
"/usr/ports/Mk/bsd.options.mk" line 482: Unknown modifier "local//"
[00:00:15] [Dry Run] Warning: (sysutils/pacman): make: =
"/usr/ports/Mk/bsd.options.mk" line 480: Unknown modifier "local//"
[00:00:15] [Dry Run] Warning: (sysutils/pacman): make: =
"/usr/ports/Mk/bsd.options.mk" line 482: Unknown modifier "local//"
[00:00:15] [Dry Run] Warning: (sysutils/pacman): make: =
"/usr/ports/Mk/bsd.options.mk" line 480: Unknown modifier "local//"
[00:00:15] [Dry Run] Warning: (sysutils/pacman): make: =
"/usr/ports/Mk/bsd.options.mk" line 482: Unknown modifier "local//"
[00:00:15] [Dry Run] Warning: (sysutils/pacman): make: =
"/usr/ports/Mk/bsd.options.mk" line 480: Unknown modifier "local//"
[00:00:15] [Dry Run] Warning: (sysutils/pacman): make: =
"/usr/ports/Mk/bsd.options.mk" line 484: Unknown modifier "local//"
[00:00:15] [Dry Run] Warning: (sysutils/pacman): make: Fatal errors =
encountered -- cannot continue
[00:00:15] [Dry Run] Warning: (sysutils/pacman): Error: Error looking up =
dependencies for sysutils/pacman
[00:00:18] [Dry Run] Warning: (www/rubygem-socksify): Error: (91456) =
/usr/local/share/poudriere/bulk.sh:shash_set:257: cannot create =
var/cache/pkgname-deps-run%rubygem-socksify-1.7.1: No space left on =
device
[00:00:18] [Dry Run] Warning: (www/rubygem-socksify): Error: (91456) =
/usr/local/share/poudriere/bulk.sh:shash_set:257: cannot create =
var/cache/pkgname-run_deps%rubygem-socksify-1.7.1: No space left on =
device
[00:00:18] [Dry Run] Warning: (www/rubygem-sitemap_generator): Error: =
/usr/local/share/poudriere/bulk.sh:deps_fetch_vars:177:Duplicated origin =
for rubygem-sitemap_generator-6.3.0: www/rubygem-sitemap_generator AND . =
Rerun with -v to see which ports are depending on these.
[00:00:18] [Dry Run] Warning: (www/rubygem-sinatra1): Error: =
/usr/local/share/poudriere/bulk.sh:deps_fetch_vars:177:Duplicated origin =
for rubygem-sinatra1-1.4.8: www/rubygem-sinatra1 AND . Rerun with -v to =
see which ports are depending on these.
[00:00:18] [Dry Run] Warning: (www/rubygem-tailwindcss-rails-rails70): =
Error: /usr/local/share/poudriere/bulk.sh:deps_fetch_vars:177:Duplicated =
origin for rubygem-tailwindcss-rails-rails70-1.0.0: =
www/rubygem-tailwindcss-rails-rails70 AND . Rerun with -v to see which =
ports are depending on these.
. . .
[00:00:19] [Dry Run] Warning: (x11-wm/cosmic-comp): Error: =
/usr/local/share/poudriere/bulk.sh:deps_fetch_vars:177:Duplicated origin =
for cosmic-comp-s20240419: x11-wm/cosmic-comp AND . Rerun with -v to see =
which ports are depending on these.
[00:00:19] [Dry Run] Warning: (x11-wm/niri): Error: =
/usr/local/share/poudriere/bulk.sh:deps_fetch_vars:177:Duplicated origin =
for niri-0.1.5: x11-wm/niri AND . Rerun with -v to see which ports are =
depending on these.
[00:00:19] [Dry Run] Error: =
/usr/local/share/poudriere/bulk.sh:gather_port_vars:125:Fatal errors =
encountered gathering initial ports metadata
[main-amd64-bulk_a-default] [2024-04-26_05h44m38s] [crashed] Time: =
00:00:18
[00:00:19] [Dry Run] Logs: =
/usr/local/poudriere/data/logs/bulk/main-amd64-bulk_a-default/2024-04-26_0=
5h44m38s
[00:00:19] [Dry Run] Cleaning up
Error: (3616) _mktemp:_mktemp:257: mkstemp failed on =
../usr/local/poudriere/data/.m/main-amd64-bulk_a-default/ref/.p/tmp/parall=
el.pipe.4kKzIqN2: No space left on device
Error: (5921) mkfifo:parallel_start:1: : No such file or directory
Error: (5921) exit:parallel_start:1: cannot create : No such file or =
directory


The 1024 figure seems to be tied to:

do_portbuild_mounts() {
        [ $# -eq 4 ] || eargs do_portbuild_mounts mnt jname ptname =
setname
        local mnt=3D"$1"
        local jname=3D"$2"
        local ptname=3D"$3"
        local setname=3D"$4"
        local optionsdir opt o msgmount msgdev

        # Create our data dirs
        MNT_DATADIR=3D"${mnt:?}/${DATADIR_NAME:?}"
        mkdir -p "${MNT_DATADIR:?}"
        add_relpath_var MNT_DATADIR
        if [ ${TMPFS_DATA} -eq 1 -o ${TMPFS_ALL} -eq 1 ]; then
                mnt_tmpfs data "${MNT_DATADIR:?}"
        fi
. . .

and:

mnt_tmpfs() {
        [ $# -ge 2 ] || eargs mnt_tmpfs type dst
        local type=3D"$1"
        local dst=3D"$2"
        local limit size
                 case ${type} in
                data)
                        # Limit data to 1GiB
                        limit=3D1
                        ;;
                         *)
                        limit=3D${TMPFS_LIMIT}
                        ;;
        esac
                                 size=3D
        case "${limit:+set}" in
        set) size=3D"-o size=3D${limit}G" ;;
        esac
                 mount -t tmpfs ${size} tmpfs "${dst:?}"
}

If I use limit=3D2 I still get the early error messages but not
the later ones:

# poudriere bulk -jmain-amd64-bulk_a -a -n
[00:00:01] [Dry Run] Creating the reference jail... done
[00:00:01] [Dry Run] Mounting system devices for =
main-amd64-bulk_a-default
[00:00:01] [Dry Run] Stashing existing package repository
[00:00:01] [Dry Run] Mounting ports from: /usr/ports
[00:00:01] [Dry Run] Mounting packages from: =
/usr/local/poudriere/data/packages/main-amd64-bulk_a-default
[00:00:01] [Dry Run] Mounting distfiles from: /usr/ports/distfiles
[00:00:01] [Dry Run] Copying /var/db/ports from: =
/usr/local/etc/poudriere.d/options
[00:00:01] [Dry Run] Appending to make.conf: =
/usr/local/etc/poudriere.d/make.conf
[00:00:01] [Dry Run] Appending to make.conf: =
/usr/local/etc/poudriere.d/main-amd64-bulk_a-make.conf
[00:00:01] [Dry Run] Warning: DEVELOPER=3Dyes ignored from make.conf. =
Use 'bulk -t' or 'testport' for testing instead.
/etc/resolv.conf -> =
/usr/local/poudriere/data/.m/main-amd64-bulk_a-default/ref/etc/resolv.conf=

[00:00:01] [Dry Run] Starting jail main-amd64-bulk_a-default
Updating /var/run/os-release done.
[00:00:01] [Dry Run] Will build as nobody:nobody (65534:65534)
[00:00:02] [Dry Run] Ports supports: FLAVORS SUBPACKAGES =
SELECTED_OPTIONS
[00:00:02] [Dry Run] Inspecting =
/usr/local/poudriere/data/.m/main-amd64-bulk_a-default/ref//usr/ports =
for modifications to git checkout... yes
[00:00:02] [Dry Run] Ports top-level git hash: 62a76b7dc95a (dirty)
[00:00:02] [Dry Run] Acquiring build logs lock for =
main-amd64-bulk_a-default... done
[00:00:02] [Dry Run] Logs: =
/usr/local/poudriere/data/logs/bulk/main-amd64-bulk_a-default/2024-04-26_0=
6h32m01s
[00:00:02] [Dry Run] Loading MOVED for =
/usr/local/poudriere/data/.m/main-amd64-bulk_a-default/ref/usr/ports
[00:00:02] [Dry Run] Gathering ports metadata
[00:00:16] [Dry Run] Warning: (sysutils/pacman): make: =
"/usr/ports/Mk/bsd.options.mk" line 480: Unknown modifier "local//"
[00:00:16] [Dry Run] Warning: (sysutils/pacman): make: =
"/usr/ports/Mk/bsd.options.mk" line 482: Unknown modifier "local//"
[00:00:16] [Dry Run] Warning: (sysutils/pacman): make: =
"/usr/ports/Mk/bsd.options.mk" line 480: Unknown modifier "local//"
[00:00:16] [Dry Run] Warning: (sysutils/pacman): make: =
"/usr/ports/Mk/bsd.options.mk" line 482: Unknown modifier "local//"
[00:00:16] [Dry Run] Warning: (sysutils/pacman): make: =
"/usr/ports/Mk/bsd.options.mk" line 480: Unknown modifier "local//"
[00:00:16] [Dry Run] Warning: (sysutils/pacman): make: =
"/usr/ports/Mk/bsd.options.mk" line 482: Unknown modifier "local//"
[00:00:16] [Dry Run] Warning: (sysutils/pacman): make: =
"/usr/ports/Mk/bsd.options.mk" line 480: Unknown modifier "local//"
[00:00:16] [Dry Run] Warning: (sysutils/pacman): make: =
"/usr/ports/Mk/bsd.options.mk" line 484: Unknown modifier "local//"
[00:00:16] [Dry Run] Warning: (sysutils/pacman): make: Fatal errors =
encountered -- cannot continue
[00:00:16] [Dry Run] Warning: (sysutils/pacman): Error: Error looking up =
dependencies for sysutils/pacman
[00:00:20] [Dry Run] Error: =
/usr/local/share/poudriere/bulk.sh:gather_port_vars:125:Fatal errors =
encountered gathering initial ports metadata
[main-amd64-bulk_a-default] [2024-04-26_06h32m01s] [crashed] Time: =
00:00:18
[00:00:20] [Dry Run] Logs: =
/usr/local/poudriere/data/logs/bulk/main-amd64-bulk_a-default/2024-04-26_0=
6h32m01s
[00:00:20] [Dry Run] Cleaning up
[00:00:20] [Dry Run] Unmounting file systems


That should establish that limit=3D1 is a problem.


The sysutils/pacman problems seems to be tied to its Makefile 's:

SUB_FILES=3D      pkg-message pkg-deinstall
SUB_LIST=3D       PACMAN_ROOT=3D"${PACMAN_ROOT}" PREFIX=3D"${PREFIX}"
PLIST_SUB=3D      PACMAN_ROOT=3D"${PACMAN_ROOT:C/^${PREFIX}//}"

leading to bad PLIST_SUB usage in /usr/ports/Mk/bsd.options.mk :

.      if ! ${PLIST_SUB:M${opt}=3D*}
.        if ${PORT_OPTIONS:M${opt}}
PLIST_SUB:=3D     ${PLIST_SUB} ${opt}=3D"" NO_${opt}=3D"@comment "
.        else
PLIST_SUB:=3D     ${PLIST_SUB} ${opt}=3D"@comment " NO_${opt}=3D""
.        endif
.      endif



=3D=3D=3D
Mark Millard
marklmi at yahoo.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6C0D3228-D035-43E2-AA86-2E4AAADB9A13>