Starting in ReviewBoard 1.5 (Python 2.5.1 linux64 compiled
mod_python.so)  the changes to use Paramiko result in this exception
when posting a review changelist (from Perforce) via the commandline
post-review tool.

HTTP POSTing to http://sw-web3.altera.com/review/api/json/accounts/login/:
{'username': 'rromano', 'password': '**************'}

Traceback (most recent call last):

  File "/tools/python/2.5.1/linux64/lib/python2.5/site-packages/
mod_python/importer.py", line 1537, in HandlerDispatch
    default=default_handler, arg=req, silent=hlist.silent)

  File "/tools/python/2.5.1/linux64/lib/python2.5/site-packages/
mod_python/importer.py", line 1229, in _process_target
    result = _execute_target(config, req, object, arg)

  File "/tools/python/2.5.1/linux64/lib/python2.5/site-packages/
mod_python/importer.py", line 1128, in _execute_target
    result = object(arg)

  File "/tools/django/trunk/1.2.3/django/core/handlers/modpython.py",
line 228, in handler
    return ModPythonHandler()(req)

  File "/tools/django/trunk/1.2.3/django/core/handlers/modpython.py",
line 191, in __call__
    self.load_middleware()

  File "/tools/django/trunk/1.2.3/django/core/handlers/base.py", line
40, in load_middleware
    mod = import_module(mw_module)

  File "/tools/django/trunk/1.2.3/django/utils/importlib.py", line 35,
in import_module
    __import__(name)

  File "/usr/local/altera/django/reviewboard/admin/middleware.py",
line 13, in <module>
    from reviewboard.webapi.json import service_not_configured

  File "/usr/local/altera/django/reviewboard/webapi/json.py", line 29,
in <module>
    from reviewboard.diffviewer.forms import EmptyDiffError

  File "/usr/local/altera/django/reviewboard/diffviewer/forms.py",
line 7, in <module>
    from reviewboard.diffviewer.diffutils import
DEFAULT_DIFF_COMPAT_VERSION

  File "/usr/local/altera/django/reviewboard/diffviewer/diffutils.py",
line 29, in <module>
    from reviewboard.scmtools.core import PRE_CREATION, HEAD

  File "/usr/local/altera/django/reviewboard/scmtools/core.py", line
5, in <module>
    from reviewboard.scmtools import sshutils

  File "/usr/local/altera/django/reviewboard/scmtools/sshutils.py",
line 5, in <module>
    import paramiko

  File "/usr/local/altera/django/reviewboard/paramiko/__init__.py",
line 69, in <module>
    from transport import randpool, SecurityOptions, Transport

  File "/usr/local/altera/django/reviewboard/paramiko/transport.py",
line 32, in <module>
    from paramiko import util

  File "/usr/local/altera/django/reviewboard/paramiko/util.py", line
32, in <module>
    from paramiko.common import *

  File "/usr/local/altera/django/reviewboard/paramiko/common.py", line
98, in <module>
    from rng import StrongLockingRandomPool

  File "/usr/local/altera/django/reviewboard/paramiko/rng.py", line
44, in <module>
    if ((platform is not None and platform.system().lower() ==
'windows') or

  File "/tools/python/2.5.1/linux64/lib/python2.5/platform.py", line
1042, in system
    return uname()[0]

  File "/tools/python/2.5.1/linux64/lib/python2.5/platform.py", line
1014, in uname
    processor = _syscmd_uname('-p','')

  File "/tools/python/2.5.1/linux64/lib/python2.5/platform.py", line
801, in _syscmd_uname
    rc = f.close()

IOError: [Errno 10] No child processes


This looks very fundamental. Python's platform.uname() fn does a
subprocess call to `uname` and it's not liked.

Incidentally, under ReviewBoard 1.0.x, I had similar issues in
ReviewBoard's own code using subprocess.POpen to extract diffs from
`p4`. I simply changed the code to use os.system() and it worked fine
thereafter.

Are there known issues with the subprocess.POpen module when running
under Apache?

-- 
Want to help the Review Board project? Donate today at 
http://www.reviewboard.org/donate/
Happy user? Let us know at http://www.reviewboard.org/users/
-~----------~----~----~----~------~----~------~--~---
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/reviewboard?hl=en

Reply via email to