On 15/02/2026 10:11, Michael Banck wrote:
On Tue, Oct 08, 2024 at 12:55:00AM +0300, Heikki Linnakangas wrote:
In the meanwhile, here is a one more version of the test patches, with a
SKIP that checks that IO::Socket::UNIX works.
I've only realized recently, but those postmaster tap tests have been
failing during Debian package build (see e.g. [0]) on hurd-i386/amd64 with
|send: Cannot determine peer address at t/002_connection_limits.pl line 136.
This wasn't widely noticed because both architectures are on the (not
small) list of arches where test suite failures are ignored[1] but I
think nowadays it is the only (or one of the very few) remaining
issue(s). I encountered it now when I tried to turn on
--enable-tap-tests on fruitcrow.
The Perl code run through strace shows it runs connect(), then
getpeername() and then sendto(), as seen here[2]. However, getpeername()
on Unix sockets is not implemented on the Hurd yet[3] (granted, FSVO
"yet", the issue is 20 years old). I've opened an issue in Perl asking
to work around this here: https://github.com/Perl/perl5/issues/24195
Would something like the attached be acceptable in the interim to have
this test be skipped on the Hurd as well?
Hmm, so is the "$sock->send('foo');" actually necessary, if the error
occurs on getpeername() already? Where does the getpeername() call come
from?
It would be nice to silence that failure one way or another. If we go
with this approach, would need a comment at least to explain it.
It seems a little awkward to send garbage to the server for this. Could
we replace the send() with a non-blocking recv() or something?
- Heikki