public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Ken Brown <kbrown@cornell.edu>
To: cygwin@cygwin.com
Subject: Re: python > 3.5: Issue with unix domain sockets
Date: Mon, 3 May 2021 09:58:36 -0400	[thread overview]
Message-ID: <2cde4128-6a3d-7431-6608-a2184d23964a@cornell.edu> (raw)
In-Reply-To: <1620046759893.5340@bmw.de>



On 5/3/2021 8:57 AM, Maximilian.Blenk--- via Cygwin wrote:
> Hello everyone,
> 
> I noticed that latest Cygwin release (3.2.0-1) has an issue with python and unix domain sockets, although I’m not a 100% sure about the root cause. My best guess is that something is wrong with the unix domain dockets implementation. I would like to attach the cygcheck.out but it seems to exceed the 180kb limit mentioned on the website (even zipped)
> 
> Simple Reproducer:
> I tried to get the example shown at https://pymotw.com/3/socket/uds.html working. It works if I execute it with python3.5 (both client and server), but it doesn’t if I use python3.6 or newer (actually tested 3.6 and 3.7 on Windows 10):
> 
> Correct Behavior:
> Server:
> $ python3.5 server.py
> starting up on ./uds_socket
> waiting for a connection
> connection from
> received b'This is the mess'
> sending data back to the client
> received b'age.  It will be'
> sending data back to the client
> received b' repeated.'
> sending data back to the client
> received b''
> no data from
> waiting for a connection
> …
> 
> Client:
> $ python3.5 client.py
> connecting to ./uds_socket
> sending b'This is the message.  It will be repeated.'
> received b'This is the mess'
> received b'age.  It will be'
> received b' repeated.'
> closing socket
> 
> Incorrect Behavior:
> Server:
> $ python3.7 server.py
> starting up on ./uds_socket
> waiting for a connection
> Traceback (most recent call last):
>    File "server.py", line 27, in <module>
>      connection, client_address = sock.accept()
>    File "/usr/lib/python3.7/socket.py", line 214, in accept
>      sock = socket(self.family, self.type, self.proto, fileno=fd)
>    File "/usr/lib/python3.7/socket.py", line 151, in __init__
>      _socket.socket.__init__(self, family, type, proto, fileno)
> SystemError: <slot wrapper '__init__' of '_socket.socket' objects> returned NULL without setting an error
> 
> Client:
> $ python3.7 client.py
> connecting to ./uds_socket
> sending b'This is the message.  It will be repeated.'
> closing socket
> Traceback (most recent call last):
>    File "client.py", line 27, in <module>
>      data = sock.recv(16)
> ConnectionResetError: [Errno 104] Connection reset by peer

I wonder if this has the same cause as the problem reported here:

   https://cygwin.com/pipermail/cygwin/2021-February/247884.html

Mark, can you check that?

Ken

  reply	other threads:[~2021-05-03 13:58 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-03 12:57 Maximilian.Blenk
2021-05-03 13:58 ` Ken Brown [this message]
2021-05-04  4:41   ` Mark Geisert
2021-05-04  5:42     ` Marco Atzeri
2021-05-04  9:21       ` Mark Geisert
2021-05-05  9:10 ` Marco Atzeri

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2cde4128-6a3d-7431-6608-a2184d23964a@cornell.edu \
    --to=kbrown@cornell.edu \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).