Re: git: 2a58b312b62f - main - zfs: merge openzfs/zfs@431083f75

From: Cy Schubert <Cy.Schubert_at_cschubert.com>
Date: Thu, 13 Apr 2023 05:31:49 UTC
On Wed, 12 Apr 2023 16:11:16 -0400
Charlie Li <vishwin@freebsd.org> wrote:

> Charlie Li wrote:
> > Mateusz Guzik wrote:  
> >> can you please test poudriere with
> >> https://github.com/openzfs/zfs/pull/14739/files
> >>  
> > After applying, on the md(4)-backed pool regardless of block_cloning, 
> > the cy@ `cp -R` test reports no differing (ie corrupted) files. Will 
> > report back on poudriere results (no block_cloning).
> >   
> As for poudriere, build failures are still rolling in. These are (and 
> have been) entirely random on every run. Some examples from this run:
> 
> lang/php81:
> - post-install: @${INSTALL_DATA} ${WRKSRC}/php.ini-development 
> ${WRKSRC}/php.ini-production ${WRKDIR}/php.conf ${STAGEDIR}/${PREFIX}/etc
> - consumers fail to build due to corrupted php.conf packaged

The package might have been corrupted from before.

> 
> devel/ninja:
> - phase: stage
> - install  -s -m 555 
> /wrkdirs/usr/ports/devel/ninja/work/ninja-1.11.1/ninja 
> /wrkdirs/usr/ports/devel/ninja/work/stage/usr/local/bin
> - consumers fail to build due to corrupted bin/ninja packaged

Same as above.

> 
> devel/netsurf-buildsystem:
> - phase: stage
> - mkdir -p 
> /wrkdirs/usr/ports/devel/netsurf-buildsystem/work/stage/usr/local/share/netsurf-buildsystem/makefiles 
> /wrkdirs/usr/ports/devel/netsurf-buildsystem/work/stage/usr/local/share/netsurf-buildsystem/testtools
> for M in Makefile.top Makefile.tools Makefile.subdir Makefile.pkgconfig 
> Makefile.clang Makefile.gcc Makefile.norcroft Makefile.open64; do \
>          cp makefiles/$M 
> /wrkdirs/usr/ports/devel/netsurf-buildsystem/work/stage/usr/local/share/netsurf-buildsystem/makefiles/; 
> \
> done
> - graphics/libnsgif fails to build due to NUL characters in 
> Makefile.{clang,subdir}, causing nothing to link
> 

This might point to some problem that might need further investigation.

Have you tried poudriere bulk -C or -c ? Some packages may be corrupt.

The problem my poudriere encountered was it couldn't find any
packages, because of EXDEV (because I had not enabled block_cloning)
which left dozens of zero length files in my repo. It therefore deleted
them from the meta.pkg. My repo was hosed.

Since I use sysutils/zfs-periodic, rolling back a previous ZFS snapshot
restored my poudriere tree, allowing me to recover my poudriere. I
haven't had any problems since the EXDEV fix + a rollback of the
periodic snapshot of my poudriere ZFS datasets to their last known good
state (the day prior to the ZFS upgrade).

This is why I suspect some kind of lingering corruption within some
files in your poudriere dataset tree.


-- 
Cheers,
Cy Schubert <Cy.Schubert@cschubert.com>
FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  https://FreeBSD.org
NTP:           <cy@nwtime.org>    Web:  https://nwtime.org

			e^(i*pi)+1=0