Kristján Valur Jónsson added the comment:
fixed for 2.7
--
resolution: - fixed
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue9090
___
Roundup Robot added the comment:
New changeset 8ec39bfd1f01 by Kristján Valur Jónsson in branch '2.7':
Issue #9090 : Error code 10035 calling socket.recv() on a socket with a timeout
http://hg.python.org/cpython/rev/8ec39bfd1f01
--
nosy: +python-dev
Roundup Robot added the comment:
New changeset f22b93b318a5 by Kristján Valur Jónsson in branch '2.7':
issue #9090 : Limit the fix to windows since getting a portable simple
http://hg.python.org/cpython/rev/f22b93b318a5
--
___
Python tracker
Roundup Robot added the comment:
New changeset 0f5e1e642dc3 by Kristján Valur Jónsson in branch '2.7':
issue #9090 : Take the same approach for socketmodule as daytimemodule
http://hg.python.org/cpython/rev/0f5e1e642dc3
--
___
Python tracker
Kristján Valur Jónsson added the comment:
Here is a patch for 2.7
Since 2.7 doesn't have pytime.c, we export floattime() as _Py_floattime out of
time.c
--
Added file: http://bugs.python.org/file29453/socket.patch
___
Python tracker
Kristján Valur Jónsson added the comment:
I will backport this. I have recently seen this happening in 2.7 in our
company and it would make sense to fix this before 2.7.4 is released.
--
nosy: +kristjan.jonsson
___
Python tracker
Jesús Cea Avión added the comment:
Backport to 2.7 should be done: See Issue #16274.
--
nosy: +jcea
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue9090
___
Okko Willeboordse okko.willeboor...@gmail.com added the comment:
I bumped into this issue at one of my customers that use Python to control a
machine through Beckhoff EtherCAT. The Python code communicates with the
Beckhoff EtherCAT program using TCP/IP.
They use non blocking sockets like so;
Changes by Terry J. Reedy tjre...@udel.edu:
--
nosy: -terry.reedy
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue9090
___
___
Python-bugs-list
Björn Lindqvist bjou...@gmail.com added the comment:
I don't have the expertise to backport it myself, but the problem certainly is
still present in python 2.7.1 on Windows 7. It is especially pronounced when
using threading to read from multiple url files.
--
nosy: +bjourne
Antoine Pitrou pit...@free.fr added the comment:
I will not bother backporting myself but an other core developer can do it if
(s)he desires.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue9090
Terry J. Reedy tjre...@udel.edu added the comment:
2.6 is closed except for security fixes, which this does not seem to be. If the
problem is in 2.7, then it potentially could be fixed there, but with the same
caveats. I will let Antoine reclose if he thinks appropriate.
--
nosy:
Eric Hohenstein ehohenst...@imvu.com added the comment:
I have ported the changes related to this problem from the 3.2 branch to the
2.6 version of socketmodule.c. The changes are attached as a diff from Python
2.6.2. The changes apply to all platforms but I've only tested them on Windows.
Changes by Antoine Pitrou pit...@free.fr:
--
status: pending - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue9090
___
___
Python-bugs-list
Antoine Pitrou pit...@free.fr added the comment:
Here is an updated patch wrapping all variants of recv() and send(), except
sendall() which already has its own retry loop.
--
Added file: http://bugs.python.org/file19046/selectretry2.patch
___
Antoine Pitrou pit...@free.fr added the comment:
Committed in 3.2 in r85074. I don't plan to backport it, since the
_PyTime_gettimeofday abstraction is not available on earlier versions.
--
resolution: - fixed
stage: patch review - committed/rejected
status: open - pending
versions:
Charles-Francois Natali neolo...@free.fr added the comment:
Unfortunately, select doesn't necessarily update the timeout variable with the
remaining time, so we can't rely on this. This would mean having the select
enclosed within gettimeofday and friends, which seems a bit overkill...
Jean-Paul Calderone inva...@example.invalid added the comment:
Unfortunately, select doesn't necessarily update the timeout variable with
the remaining time, so we can't rely on this. This would mean having the
select enclosed within gettimeofday and friends, which seems a bit overkill...
Antoine Pitrou pit...@free.fr added the comment:
Unfortunately, select doesn't necessarily update the timeout variable
with the remaining time, so we can't rely on this. This would mean
having the select enclosed within gettimeofday and friends, which
seems a bit overkill...
Well, given the
Charles-Francois Natali neolo...@free.fr added the comment:
Yes, I was concerned with the runtime overhead (especially under VMs, where
clocks are emulated) and strace output ;-)
As for the dull code writting, I could give it a shot unless someone else wants
to go ahead.
--
Charles-Francois Natali neolo...@free.fr added the comment:
@ehohenstein: sorry, I hadn't seen you'd already submitted a patch, so you may
as well update it to take into account what was said above. Also, please note
that this issue is not specific to windows, so it would be nice to fix it for
Antoine Pitrou pit...@free.fr added the comment:
Here is a proof of concept patch for Python 3.2. It only wraps recv() and
recv_into(). recvfrom() and recvfrom_into() should receive the same treatment,
at least.
--
stage: - patch review
Added file:
Changes by Antoine Pitrou pit...@free.fr:
--
nosy: +gregory.p.smith
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue9090
___
___
Python-bugs-list
Changes by Antoine Pitrou pit...@free.fr:
Removed file: http://bugs.python.org/file18925/selectretry.patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue9090
___
Changes by Antoine Pitrou pit...@free.fr:
Added file: http://bugs.python.org/file18926/selectretry.patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue9090
___
Charles-Francois Natali neolo...@free.fr added the comment:
Actually, it's possible that select(2) incorrectly reports sockets as ready for
reading : for example if the socket receives data, but then discards it because
of an invalid checksum (and I guess you're more likely to get this type of
Antoine Pitrou pit...@free.fr added the comment:
So it means we should indeed retry on a socket with timeout... But we must take
care not to exceed the original timeout, so we must measure the time taken by
each select() call.
--
___
Python tracker
Ben Smith benjamin.coder.sm...@gmail.com added the comment:
I also see this issue on occasion on windows XP SP 3, using python 2.6.5 to
fetch large files via http.
The error is infrequent, but it is happening in my situation without a VM.
--
nosy: +Ben.Smith
Changes by Antoine Pitrou pit...@free.fr:
--
nosy: +exarkun, giampaolo.rodola
versions: +Python 2.7, Python 3.1, Python 3.2 -Python 2.6
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue9090
___
New submission from Eric Hohenstein ehohenst...@imvu.com:
This error is unfortunately difficult to reproduce. I've only seen it happen on
Windows XP running on a dual core VMWare VM. I haven't been able to reproduce
it on a non-VM system running Windows 7. The only way I've been able to
30 matches
Mail list logo