homepage

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: Bad file descriptor error occurs if random library is imported before closing FDs
Type: behavior Stage:
Components: Library (Lib) Versions: Python 3.4
process
Status: closed Resolution: duplicate
Dependencies: Superseder: urandom persistent fd - not re-openned after fd close
View: 21207
Assigned To: Nosy List: vstinner, waynesong
Priority: normal Keywords:

Created on 2015年01月05日 21:12 by waynesong, last changed 2022年04月11日 14:58 by admin. This issue is now closed.

Messages (2)
msg233478 - (view) Author: Wayne Song (waynesong) Date: 2015年01月05日 21:12
The following script:
import os
import resource
import random
print("1")
for fd in range(resource.getrlimit(resource.RLIMIT_NOFILE)[0]):
 try:
 if fd not in range(0, 3):
 os.close(fd)
 except os.error:
 pass
print("2")
print(os.urandom(32))
print("3")
Crashes with the following output:
1
2
Traceback (most recent call last):
 File "test.py", line 17, in <module>
 print(os.urandom(32))
OSError: [Errno 9] Bad file descriptor
On an Ubuntu 14.04 install (in VirtualBox). It seems to run correctly on Mac OS X. The script runs fine if I don't import random at the top.
msg233479 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2015年01月05日 21:27
This issue is a duplicate of the issue #21207 which was already fixed in Python 3.4.1.
History
Date User Action Args
2022年04月11日 14:58:11adminsetgithub: 67361
2015年01月05日 21:27:53vstinnersetstatus: open -> closed

nosy: + vstinner
messages: + msg233479

superseder: urandom persistent fd - not re-openned after fd close
resolution: duplicate
2015年01月05日 21:12:41waynesongcreate

AltStyle によって変換されたページ (->オリジナル) /