A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2002-July/026689.html below:

[Python-Dev] test_socket failure on FreeBSD

[Python-Dev] test_socket failure on FreeBSDGuido van Rossum guido@python.org
Thu, 18 Jul 2002 12:27:25 -0400
> > There are probably some differences in the socket semantics.  I'd
> > appreciate it if you could provide a patch or at least a clue!
> 
> I've not read enough Stevens to grok sockets code (yet) :-(
> 
> However, I hope that the instrumented verbose output of test_socket might
> give you a clue....
> 
> I've attached the diff from the version of test_socket (vs recent CVS)
> that I used, as well as output from test_socket on FreeBSD 4.4 and
> OS/2+EMX.  Getting the FreeBSD issues sorted is a higher priority for me
> than getting OS/2+EMX working (though that would be nice too).
> 
> Please let me know if there's more testing/debugging I can do.

I've got some time for this now.  Ignoring your OS/2+EMX output and
focusing on the FreeBSD logs, I notice:

[...]
> Testing recvfrom() in chunks over TCP. ... 
> seg1='Michael Gilfix was he', addr='None'
> seg2='re
> ', addr='None'
> ERROR

Hm.  This looks like recvfrom() on a TCP stream doesn't return an
address; not entirely unreasonable.  I wonder if
self.cli_conn.getpeername() returns the expected address; can you
check this?  Add this after each recvfrom() call.

        if addr is None:
            addr = self.cli_conn.getpeername()

[...]
> Testing large recvfrom() over TCP. ... 
> msg='Michael Gilfix was here
> ', addr='None'
> ERROR

Ditto.

> Testing non-blocking accept. ... 
> conn=<socket object, fd=8, family=2, type=1, protocol=0>
> addr=('127.0.0.1', 3144)
> FAIL

This is different.  It seems that the accept() call doesn't time out.
But this could be because the client thread connects too fast.  Can
you add a sleep (e.g. time.sleep(5)) to _testAccept() before the
connect() call?

[...]
> Testing non-blocking recv. ... 
> conn=<socket object, fd=8, family=2, type=1, protocol=0>
> addr=('127.0.0.1', 3146)
> FAIL

Similar.  Try putting a sleep in _testRecv() between the connect() and
the send().

[...]

Let me know if you want me to provide specific patches...

--Guido van Rossum (home page: http://www.python.org/~guido/)




RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4