[ python-Bugs-858253 ] EAGAIN when sys.stdin.readline()
SourceForge.net
noreply at sourceforge.net
Sun Dec 14 05:31:40 EST 2003
Bugs item #858253, was opened at 2003-12-11 13:12
Message generated for change (Comment added) made by frallan
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=858253&group_id=5470
Category: Extension Modules
Group: Python 2.3
Status: Open
Resolution: None
Priority: 5
Submitted By: Frallan the master Jedi (frallan)
Assigned to: Nobody/Anonymous (nobody)
Summary: EAGAIN when sys.stdin.readline()
Initial Comment:
$ cat test.py
import sys
print sys.stdin.readline()
$ python test.py | python test.py
Traceback (most recent call last):
File "test.py", line 2, in ?
print sys.stdin.readline()
IOError: [Errno 35] Resource temporarily unavailable
This happens about 3 times out of 5.
It happens under FreeBSD 5.1-RELEASE (SMP) and:
python-2.1.3
python-2.2.3
python-2.3.2
python-2.3.3c1
It does _not_ happen under Debian 3.0 or
FreeBSD 4.7-RELEASE (SMP).
According to read(2) this "error" should occur only when
the descriptor is in non-blocking mode. However as you
can see from the program it isn't. Further I have caught
the IOError and run fcntl(F_GETFL) on sys.stdin.fileno()
and the only flag set is O_RDWR.
----------------------------------------------------------------------
>Comment By: Frallan the master Jedi (frallan)
Date: 2003-12-14 10:31
Message:
Logged In: YES
user_id=639616
All my python versions are compiled from source.
Further, since the problem only occur some of the time and
only on some of the platforms, it's natural to suspect foul play
from the runtime environment (i.e shell, OS) and that it might
not be a bug in python. It's not like blocking input should be a
black art.
I refuse to believe that this issue has never been raised
before and subsequently solved. It's just a matter of finding
the right mailing list archive. The alternative seems to be
hacking the interpreter and try to narrow it down.
----------------------------------------------------------------------
Comment By: Hye-Shik Chang (perky)
Date: 2003-12-13 20:22
Message:
Logged In: YES
user_id=55188
I could not reproduce the error on several versions of FreeBSD:
5.2-BETA Thu Dec 4 21:59:16 KST 2003 i386 (non-SMP)
5.2-CURRENT Sat Dec 13 08:02:47 PST 2003 alpha (SMP)
5.2-CURRENT Tue Dec 9 02:39:36 PST 2003 ia64 (SMP)
5.2-CURRENT Sat Dec 13 07:52:29 PST 2003 i386 (SMP)
5.1-RELEASE Sat Jun 14 05:13:38 KST 2003 i386 (SMP)
Do you have any uncommon factor of environment?
(and did you install the python via ports?)
----------------------------------------------------------------------
Comment By: Andrew Gaul (gaul)
Date: 2003-12-12 12:00
Message:
Logged In: YES
user_id=139865
Same on OpenBSD:
$ uname -a
OpenBSD owl 3.2 GENERIC#25 i386
$ python -V
Python 2.2.1
$ python test.py | python test.py
Traceback (most recent call last):
File "test.py", line 2, in ?
print sys.stdin.readline()
IOError: [Errno 35] Resource temporarily unavailable
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=858253&group_id=5470
More information about the Python-bugs-list
mailing list