[Python-apps-team] Bug#946178: mercurial: FTBFS on hurd-i386: Testsuite failures

Samuel Thibault sthibault at debian.org
Sat Dec 7 20:27:30 GMT 2019


Hello,

Paul Sonnenschein, le jeu. 05 déc. 2019 07:43:10 +0100, a ecrit:
> Am Mittwoch, den 04.12.2019, 23:26 +0100 schrieb Samuel Thibault:
> > Paul Sonnenschein, le mer. 04 déc. 2019 21:45:14 +0100, a ecrit:
> > > The test-http-bad-server.t fails due to an unexpected behaviour of
> > > local sockets in the Hurd. This seems to be a bug in the Hurd
> > > itself
> > > (pflocal specifically), being in violation of the POSIX
> > > specification
> > > Issue 6 and newer.
> > 
> > Which violation is happening here?
> 
> According to POSIX, both read and recv shall set errno to ECONNRESET if
> "[a] read was attempted on a socket and the connection was forcibly
> closed by its peer." As far as I can tell, pflocal will never return
> ECONNRESET.

Yes. The question is what "forcibly" means. On TCP connections, when the
peer sends a RST, ECONNRESET makes complete sense: the stream is not
finished, it was really interrupted. What would be the equivalent for a
local socket?

I played a bit with Linux, and found the attached case to be returning
ECONNRESET, but it's not clear to me why that precise case should do
this. In such case OpenBSD returns 0.

Samuel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.c
Type: text/x-csrc
Size: 374 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/python-apps-team/attachments/20191207/0bfcf04d/attachment.c>


More information about the Python-apps-team mailing list