Re: [chrony-users] FreeBSD socket.test FAIL: recvmsg() error EAGAIN on accept TCP socket receive |
[ Thread Index |
Date Index
| More chrony.tuxfamily.org/chrony-users Archives
]
- To: chrony-users@xxxxxxxxxxxxxxxxxxxx
- Subject: Re: [chrony-users] FreeBSD socket.test FAIL: recvmsg() error EAGAIN on accept TCP socket receive
- From: Miroslav Lichvar <mlichvar@xxxxxxxxxx>
- Date: Thu, 28 Aug 2025 10:07:31 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1756368457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Lky+0e3kQsDfWrUxOzbv3Kdsbn+4whhpRfUbigH4kDc=; b=UJgeKuyyoEup+SKki31GZyPJgWCvNWitFA72hB+CabXwoukod3RsAPADG1gVo0VlwO6PLN SbHUX6CrQ8h2Dzq+2HjHK//COQO+Kf5KJQhV0Pe2yBbNSyhq7tc4t3znCMo1Nw4M8WUVA0 E1L+iiOH1CfVZIhtATmWLW/75ZLwBwQ=
On Wed, Aug 27, 2025 at 04:50:36PM +0200, Matthias Andree wrote:
> chrony 4.7 and 4.8 (and possibly others) have an issue with
> test/util/socket.c's self test,
> UNLESS running under "truss" (think strace in the Linux world).
>
> Apparently we're looking at OS-specific differences WRT non-blocking
> accept()ed sockets for TCP between FreeBSD and, say, Linux, or with
> something that a syscall tracer will cause to be retried.
I have a FreeBSD 14.2 VM that I use for testing and it wasn't failing
for me. Maybe it's too slow.
> Debugging this, SCK_AcceptConnection unconditionally sets O_NONBLOCK on the
> socket,
It should be now fixed in git. Thanks for the report.
> Speaking of which, configure states that FreeBSD 11.0 had a broken
> recvmmsg() - have there been bug reports at the time or fixes? Have we
> retried this on 13.5, 14.2, 14.3? What do we need to look for?
That bug was fixed, but it seems it's still just a loop around
recvmsg, not a single system call, which means there is an extra
system call made and I'm not sure if it's worth it.
https://github.com/freebsd/freebsd-src/blob/main/lib/libsys/recvmmsg.c#L80
--
Miroslav Lichvar
--
To unsubscribe email chrony-users-request@xxxxxxxxxxxxxxxxxxxx
with "unsubscribe" in the subject.
For help email chrony-users-request@xxxxxxxxxxxxxxxxxxxx
with "help" in the subject.
Trouble? Email listmaster@xxxxxxxxxxxxxxxxxxxx.