Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Nov 2020 10:06:24 -0600
From:      Kyle Evans <kevans@freebsd.org>
To:        Dimitry Andric <dim@freebsd.org>
Cc:        Graham Perrin <grahamperrin@gmail.com>, FreeBSD-CURRENT <freebsd-current@freebsd.org>,  Alex Richardson <arichardson@freebsd.org>, Ryan Moeller <freqlabs@freebsd.org>, Matthew Macy <mmacy@freebsd.org>
Subject:   Re: buildworld: lib/libc: install: short write to libc.so.7.debug: [_libinstall] Error code 71
Message-ID:  <CACNAnaGh9QWCOdbojfVpibrbewNFKgjgvQ4YPdtv5zTehW%2BXbA@mail.gmail.com>
In-Reply-To: <40C5DB30-4B7C-4A51-8069-B4E67298C558@FreeBSD.org>
References:  <746a3af4-3daf-9029-bf48-23efa3f5da8e@gmail.com> <37d2a873-8cb9-b858-fa06-4bbfcf006835@gmail.com> <1e9e8649-0fe7-4b83-078d-f67908e2f430@gmail.com> <40C5DB30-4B7C-4A51-8069-B4E67298C558@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Nov 22, 2020 at 6:00 AM Dimitry Andric <dim@freebsd.org> wrote:
>
> On 22 Nov 2020, at 08:06, Graham Perrin <grahamperrin@gmail.com> wrote:
> >
> > On 20/11/2020 09:57, Graham Perrin wrote:
> >> On 16/11/2020 09:27, Graham Perrin wrote:
> >>> Attempting to build r367615 on Friday 13th:
> >>>
> >>> =E2=80=A6
> >>>
> >>> =3D=3D=3D> lib/libprocstat/zfs (install)
> >>> install -U  -C -o root -g wheel -m 444 /usr/src/lib/libprocstat/libpr=
ocstat.h /usr/obj/usr/src/amd64.amd64/tmp/usr/include/
> >>> =3D=3D=3D> lib/libc (obj,all,install)
> >>> install -U  -C -o root -g wheel -m 444   libc.a /usr/obj/usr/src/amd6=
4.amd64/tmp/usr/lib/
> >>> install -U  -s -o root -g wheel -m 444   -S  libc.so.7 /usr/obj/usr/s=
rc/amd64.amd64/tmp/lib/
> >>> install -U  -o root -g wheel -m 444    libc.so.7.debug /usr/obj/usr/s=
rc/amd64.amd64/tmp/usr/lib/debug/lib/
> >>> install: short write to /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/debu=
g/lib/libc.so.7.debug: 393216 bytes written, 7462472 bytes asked to write
> >>> *** [_libinstall] Error code 71
> >>>
> >>> make[4]: stopped in /usr/src/lib/libc
> >>> 1 error
> >>>
> >>> make[4]: stopped in /usr/src/lib/libc
> >>> root@mowa219-gjp4-8570p:/usr/src #
> >>
> >> The same problem =E2=80=93 short write to /usr/obj/usr/src/amd64.amd64=
/tmp/usr/lib/debug/lib/libc.so.7.debug =E2=80=93 when attempting buildworld=
 of r367847.
> >>
> >> If it's relevant: I'm using r367081 for these attempts.
> >
> > The same problem when attempting buildworld of r367923. Prior to this I=
 performed a fresh checkout of /usr/src
> >
> > What might cause these failures?
> >
> > If it's relevant: I have compression set to gzip-9 for the ZFS dataset =
that mounts at /usr
>
> I'd guess it's an unintended side-effect of
> https://svnweb.freebsd.org/base?view=3Drevision&revision=3D366697
> ("install(1): Avoid unncessary fstatfs() calls and use mmap() based on
> size").
>

Almost certainly -- before, we would never attempt to mmap() on ZFS.

Tossing arichardson@ into CC as the committer
Tossing mmacy@ and freqlabs@ into CC as ZFS folks

Looking through sys/contrib/openzfs, there's special handling for mmap
on linux because it bypasses the page cache and relies on caching in
ARC. AFAICT the FreeBSD side seems to handle write() to mmap'd
regions, but doesn't do anything with VOP_MMAPPED which might be
needed to sync the file when it's mmap'd for reading like this. My
understanding of how this is supposed to actually work on FreeBSD is
limited, though, so I defer...

Thanks,

Kyle Evans



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACNAnaGh9QWCOdbojfVpibrbewNFKgjgvQ4YPdtv5zTehW%2BXbA>