See also topic 
http://groups.google.com/group/reviewboard/browse_thread/thread/af0e34298072d5af#

I have seen this problem with every version of ReviewBoard prior to
1.5. I am stuck at 1.0.4 at the moment.

What I did to fix this was modify all the calls in the diffiviewer
code below to use os.system() instead of the Python subprocess module.
Something about the subprocess module does NOT play nicely under
mod_python/Apache.

Now for 1.5, I cannot upgrade because post-review is triggering a call
to the new Paramiko module, which calls into Python's 'platform'
module for the system() call.  It turns out platform.system() ALSO
uses subprocess.Popen instead of os.system().

I'm glad I'm not the only one seeing this. I bet it's a mod_python
bug, Incidentally, mod_python is now a dead project.



On Oct 27, 10:51 am, Dennis <dennisfraz...@charter.net> wrote:
> Using ReviewBoard 1.5 on Linux with Apache 2.2.15 and mod_python, we
> are getting intermittent but fairly frequent errors when attempting to
> view diffs with Perforce:
>
> (10, 'No child processes')
>
> Traceback (most recent call last):
>   File "/usr/lib/python2.6/site-packages/ReviewBoard-1.5-py2.6.egg/
> reviewboard/diffviewer/views.py", line 153, in view_diff
>     interdiffset, highlighting, True)
>   File "/usr/lib/python2.6/site-packages/ReviewBoard-1.5-py2.6.egg/
> reviewboard/diffviewer/diffutils.py", line 1063, in get_diff_files
>     large_data=True)
>   File "/usr/lib/python2.6/site-packages/Djblets-0.6.4-py2.6.egg/
> djblets/util/misc.py", line 166, in cache_memoize
>     data = lookup_callable()
>   File "/usr/lib/python2.6/site-packages/ReviewBoard-1.5-py2.6.egg/
> reviewboard/diffviewer/diffutils.py", line 1062, in <lambda>
>     enable_syntax_highlighting)),
>   File "/usr/lib/python2.6/site-packages/ReviewBoard-1.5-py2.6.egg/
> reviewboard/diffviewer/diffutils.py", line 548, in get_chunks
>     old = get_original_file(filediff)
>   File "/usr/lib/python2.6/site-packages/ReviewBoard-1.5-py2.6.egg/
> reviewboard/diffviewer/diffutils.py", line 364, in get_original_file
>     large_data=True)[0]
>   File "/usr/lib/python2.6/site-packages/Djblets-0.6.4-py2.6.egg/
> djblets/util/misc.py", line 166, in cache_memoize
>     data = lookup_callable()
>   File "/usr/lib/python2.6/site-packages/ReviewBoard-1.5-py2.6.egg/
> reviewboard/diffviewer/diffutils.py", line 363, in <lambda>
>     data = cache_memoize(key, lambda: [fetch_file(file, revision)],
>   File "/usr/lib/python2.6/site-packages/ReviewBoard-1.5-py2.6.egg/
> reviewboard/diffviewer/diffutils.py", line 342, in fetch_file
>     data = tool.get_file(file, revision)
>   File "/usr/lib/python2.6/site-packages/ReviewBoard-1.5-py2.6.egg/
> reviewboard/scmtools/perforce.py", line 93, in get_file
>     (res, errdata) = p.communicate()
>   File "/usr/lib/python2.6/subprocess.py", line 689, in communicate
>     return self._communicate(input)
>   File "/usr/lib/python2.6/subprocess.py", line 1233, in _communicate
>     self.wait()
>   File "/usr/lib/python2.6/subprocess.py", line 1157, in wait
>     pid, sts = os.waitpid(self.pid, 0)
> OSError: [Errno 10] No child processes
>
> Often, repeating the attempt 2-3 times will eventually result in
> success.  Any ideas on root cause or a workaround?
>
> Thanks very much,
> Dennis

-- 
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 
reviewboard+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/reviewboard?hl=en

Reply via email to