public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Mark Geisert <mark@maxrnd.com>
To: Cygwin Mailing List <cygwin@cygwin.com>
Subject: Re: Python regression related to unix sockets
Date: Wed, 24 Feb 2021 23:41:37 -0800	[thread overview]
Message-ID: <5af3eb7e-c4a5-bf8b-cff8-444c45df1f58@maxrnd.com> (raw)
In-Reply-To: <b168f64c-9065-e10b-e3eb-fa1f19f9ec9b@maxrnd.com>

Following up to myself:
Mark Geisert wrote:
> Hi Fabian,
> 
> Fabian Henze via Cygwin wrote:
>> Hi Cygwin users,
>> I noticed a regression in the recent Python packages: Between version
>> 3.6.10-1 and 3.6.12-2, accessing the SSH agent via the paramiko python
>> package broke. When a ssh agent is used, paramiko tries to connect to
>> it via the unix socket and just freezes. Python 3.8 is also affected,
>> but I don't know which was the last working one.
>> I was able to pinpoint that error to 3.6.12-socketmodule.patch [1].
>> Reverting/removing the patch fixes the ssh agent access.
>> A few weeks ago there was a discussion regarding "Problems with native
>> Unix domain sockets on Win 10/2019", but it seems unrelated as the
>> cygwin1.dll from [2] does not work for me.
>>
>> Can you please check if you are able to reproduce that? I uploaded a
>> script [3] for that.
>>
>> Best regards,
>> Fabian Henze
>>
>> [1] https://bugs.python.org/file49717/3.6.12-socketmodule.patch
>> [2] https://cygwin.com/snapshots/x86_64/cygwin1-20210201.dll.xz
>> [3] https://gist.github.com/henzef/4e553fad2335227b8f6b4550cd3fa543
> 
> Thanks for the report and sorry you've run into this.  The patch is a workaround 
> that's evidently too draconian.  I will debug the situation using your testcase. 
> Thank you very much for the testcase.

It's a limitation of the patch.  It was meant to allow Python programs on the same 
computer to communicate via AF_UNIX sockets, by working around less than perfect 
support in the Cygwin DLL.  But you've got a Python program trying to communicate 
with a non-Python program, and that fails because the patch is only applied on the 
Python end of the connection.

If you can continue to run without the problematic patch, that's your best option. 
  I will learn more about the underlying code in the Cygwin DLL and see if I can 
make an improvement there so the Python patch will not be needed in the future.
Thanks again for the report!

..mark

  reply	other threads:[~2021-02-25  7:41 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-23  8:29 Fabian Henze
2021-02-23 10:29 ` Mark Geisert
2021-02-25  7:41   ` Mark Geisert [this message]
2022-11-02 11:46   ` Fabian Henze
2022-11-06 22:50     ` Mark Geisert
2022-11-08  6:51       ` Mark Geisert

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=5af3eb7e-c4a5-bf8b-cff8-444c45df1f58@maxrnd.com \
    --to=mark@maxrnd.com \
    --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).