Issue 6645: multiprocessing build fails on AIX - /dev/urandom (or equivalent) not found (original) (raw)

I suppose multiprocessing invokes os.random somewhere. And os.random fails on AIX for obvious reasons:

os.urandom(10) Traceback (most recent call last): File "", line 1, in File "/tmp/srid/ActivePythonEE-2.6.2.3-aix-powerpc64/i/lib/python2.6/ os.py", line 755, in urandom raise NotImplementedError("/dev/urandom (or equivalent) not found") NotImplementedError: /dev/urandom (or equivalent) not found

Why should multiprocessing require urandom at all? Can't it fallback to os.random, if os.urandom is unavailable?

try: os.urandom(10) except NotImplementedError: urandom = os.urandom else: urandom = os.random

This also breaks pydoc on AIX (Python 2.6.5).

help> modules pydoc

Here is a list of matching modules. Enter any module name to get more help.

Traceback (most recent call last): File "", line 1, in File "/home/qatest/APy/lib/python2.6/site.py", line 438, in call return pydoc.help(*args, **kwds) File "/home/qatest/APy/lib/python2.6/pydoc.py", line 1722, in call self.interact() File "/home/qatest/APy/lib/python2.6/pydoc.py", line 1740, in interact self.help(request) File "/home/qatest/APy/lib/python2.6/pydoc.py", line 1760, in help self.listmodules(split(request)[1]) File "/home/qatest/APy/lib/python2.6/pydoc.py", line 1865, in listmodules apropos(key) File "/home/qatest/APy/lib/python2.6/pydoc.py", line 1965, in apropos ModuleScanner().run(callback, key) File "/home/qatest/APy/lib/python2.6/pydoc.py", line 1930, in run for importer, modname, ispkg in pkgutil.walk_packages(onerror=onerror): File "/home/qatest/APy/lib/python2.6/pkgutil.py", line 110, in walk_packages import(name) File "/home/qatest/APy/lib/python2.6/multiprocessing/init.py", line 63, in from multiprocessing.process import Process, current_process, active_children File "/home/qatest/APy/lib/python2.6/multiprocessing/process.py", line 286, in _current_process = _MainProcess() File "/home/qatest/APy/lib/python2.6/multiprocessing/process.py", line 283, in init self._authkey = AuthenticationString(os.urandom(32)) File "/home/qatest/APy/lib/python2.6/os.py", line 756, in urandom raise NotImplementedError("/dev/urandom (or equivalent) not found") NotImplementedError: /dev/urandom (or equivalent) not found