Re: git: 2c1963d46335 - main - procfs rlimit: handle pipebuf [and related] :pipebuf . . . Invalid argument

From: Mark Millard <marklmi_at_yahoo.com>
Date: Sun, 06 Oct 2024 23:11:30 UTC
On Oct 6, 2024, at 06:56, Warner Losh <imp@bsdimp.com> wrote:

> On Sun, Oct 6, 2024 at 3:09 AM Konstantin Belousov <kostikbel@gmail.com> wrote:
> On Sun, Oct 06, 2024 at 10:57:23AM +0200, Dag-Erling Smørgrav wrote:
> > Konstantin Belousov <kostikbel@gmail.com> writes:
> > > We do not provide forward compatibility between kernel and userspace.
> > > User binaries must be newer than kernel.
> > 
> > Uh, no.  The opposite, in fact.
> 
> Right, it is opposite.  It was a typo.
> 
> Anyway, __FreeBSD_version is not about compatibility between specific
> snapshot of kernel and user sources.  It de-facto provides two technical
> measures:
> 1. kernel refuses to load modules built against headers set with higher
>    __FreeBSD_version than kernel
> 2. Some values of __FreeBSD_version are used by userspace to
>    detect if specific change is present in kernel.  See sys/param.h
>    P_OSREL_ list.
> 
> 3. It's used extensively in 3rd party software to select different interfaces
> (including ports). That's why we document why we do each bump.
> 
> While 'forward compatibility' is sometimes needed / provided when it
> adversely affects upgrade from source and fall back to prior kernel while
> it's worked out. But (a) ZFS BEs eliminate many problems and (b) we've
> only done it when it was impossible to run buildkernel / git (or svn or cvs
> in the past) to fix the problem. While the messages are annoying, they
> don't prevent that limited exception we've occasionally done in the past.
> In general, we've avoided changes so incompatible that they've needed
> a new P_OSREL_ entry to cope...
> 

I will note that the official build of each
port-package for main [so: 15] do get a ulimit
invalid argument report in the log file for
the build now, in the section just before
"phase: check-sanity":

. . .
--Resource limits--
ulimit: can't get limit: Invalid argument
cpu time (seconds, -t) unlimited
file size (512-blocks, -f) unlimited
data seg size (kbytes, -d) 33554432
stack size (kbytes, -s) 524288
core file size (512-blocks, -c) unlimited
max memory size (kbytes, -m) unlimited
locked memory (kbytes, -l) unlimited
max user processes (-u) 89999
open files (-n) 8192
virtual mem size (kbytes, -v) unlimited
swap limit (kbytes, -w) unlimited
socket buffer size (bytes, -b) unlimited
pseudo-terminals (-p) unlimited
kqueues (-k) unlimited
umtx shared locks (-o) unlimited
--End resource limits--
=======================<phase: check-sanity >============================
. . .

That text is from:

http://beefy18.nyi.freebsd.org/data/main-amd64-default/pe65c3d3818f0_s74f6ec6fe3c/logs/qt6-tools-6.7.3.log

which also reports:

Host OSVERSION: 1500023
Jail OSVERSION: 1500024

The vintage of 1500023 predates the 2024-Sep-20 pipebuf change
so the kernel is too old to provide support. (Not that it is
generally easy to know much detail about the Host vintage of
main within the 1500023 span.)


===
Mark Millard
marklmi at yahoo.com