This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: EAGAIN when sys.stdin.readline()
Type: Stage:
Components: Extension Modules Versions: Python 2.3
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: Nosy List: christian.heimes, frallan, gaul, hyeshik.chang
Priority: normal Keywords:

Created on 2003-12-11 13:12 by frallan, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (5)
msg60434 - (view) Author: Frallan the master Jedi (frallan) Date: 2003-12-11 13:12
$ 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.










msg60435 - (view) Author: Andrew Gaul (gaul) Date: 2003-12-12 12:00
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
msg60436 - (view) Author: Hyeshik Chang (hyeshik.chang) * (Python committer) Date: 2003-12-13 20:22
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?)
msg60437 - (view) Author: Frallan the master Jedi (frallan) Date: 2003-12-14 10:31
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.
msg61330 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2008-01-20 19:02
The bug is probably outdated. Please create a new issue if the bug still
occurs for you with newer versions of Python and your OS.
History
Date User Action Args
2022-04-11 14:56:01adminsetgithub: 39696
2008-01-20 19:02:40christian.heimessetstatus: open -> closed
nosy: + christian.heimes
resolution: out of date
messages: + msg61330
2003-12-11 13:12:22frallancreate