1567: The ReviewBoard stoped to work suddenly.
- SetupIssue
- Review Board
| yunsh*****@gmai***** (Google Code) (Is this you? Claim this profile.) | |
| March 24, 2010 |
What version are you running?
ReviewBoard1.5Beta1_Python2.6
What's the URL of the page containing the problem?
Unable to visit ReviewBoard site.
What steps will reproduce the problem?
The ReviewBoard stoped to work suddenly.
What is the expected output? What do you see instead?
MOD_PYTHON ERROR
ProcessId: 12138
Interpreter: 'reviewboard_reviewboard'
ServerName: 'cr.wsd.com'
DocumentRoot: '/data/reviewboard/htdocs'
URI: '/'
Location: '/'
Directory: None
Filename: '/data/reviewboard/htdocs/'
PathInfo: ''
Phase: 'PythonHandler'
Handler: 'django.core.handlers.modpython'
Traceback (most recent call last):
File "/usr/local/lib/python2.6/site-packages/mod_python/importer.py",
line 1537, in HandlerDispatch
default=default_handler, arg=req, silent=hlist.silent)
File "/usr/local/lib/python2.6/site-packages/mod_python/importer.py",
line 1229, in _process_target
result = _execute_target(config, req, object, arg)
File "/usr/local/lib/python2.6/site-packages/mod_python/importer.py",
line 1128, in _execute_target
result = object(arg)
File "/usr/local/lib/python2.6/site-packages/Django-1.1.1-
py2.6.egg/django/core/handlers/modpython.py", line 228, in handler
return ModPythonHandler()(req)
File "/usr/local/lib/python2.6/site-packages/Django-1.1.1-
py2.6.egg/django/core/handlers/modpython.py", line 191, in __call__
self.load_middleware()
File "/usr/local/lib/python2.6/site-packages/Django-1.1.1-
py2.6.egg/django/core/handlers/base.py", line 40, in load_middleware
mod = import_module(mw_module)
File "/usr/local/lib/python2.6/site-packages/Django-1.1.1-
py2.6.egg/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/usr/local/lib/python2.6/site-packages/Django-1.1.1-
py2.6.egg/django/middleware/gzip.py", line 4, in <module>
from django.utils.cache import patch_vary_headers
File "/usr/local/lib/python2.6/site-packages/Django-1.1.1-
py2.6.egg/django/utils/cache.py", line 28, in <module>
from django.core.cache import cache
File "/usr/local/lib/python2.6/site-packages/Django-1.1.1-
py2.6.egg/django/core/cache/__init__.py", line 68, in <module>
cache = get_cache(settings.CACHE_BACKEND)
File "/usr/local/lib/python2.6/site-packages/Django-1.1.1-
py2.6.egg/django/core/cache/__init__.py", line 66, in get_cache
return getattr(module, 'CacheClass')(host, params)
File "/usr/local/lib/python2.6/site-packages/Django-1.1.1-
py2.6.egg/django/core/cache/backends/filebased.py", line 31, in __init__
self._createdir()
File "/usr/local/lib/python2.6/site-packages/Django-1.1.1-
py2.6.egg/django/core/cache/backends/filebased.py", line 132, in _createdir
raise EnvironmentError, "Cache directory '%s' does not exist and could
not be created'" % self._dir
EnvironmentError: Cache directory '/tmp/reviewboard_cache' does not exist
and could not be created'
What operating system are you using? What browser?
Linux,IE
Please provide any additional information below.
Please help! Thanks!
Sounds like it's exactly what the error says. It's not able to create /tmp/reviewboard_cache. You should make sure that Apache's user can create directories in /tmp. Really, though, you should be using memcached. It is much faster, more efficient, more scalable, and better supported.
-
+ SetupIssue
Thanks!
This problem was solved by grant the directory permission the apache user.
Another problem rised when view diffs:
The patch to 'xxx/IMEngine.h' didn't apply cleanly. The temporary files have been
left in '/var/tmp/reviewboard.u23uyk' for debugging purposes. `patch` returned:
patch: **** mktemp : Permission denied
Traceback (most recent call last):
File "/usr/local/lib/python2.6/site-packages/ReviewBoard-1.5beta1-
py2.6.egg/reviewboard/diffviewer/views.py", line 153, in view_diff
interdiffset, highlighting, True)
File "/usr/local/lib/python2.6/site-packages/ReviewBoard-1.5beta1-
py2.6.egg/reviewboard/diffviewer/diffutils.py", line 887, in get_diff_files
large_data=True)
File "/usr/local/lib/python2.6/site-packages/Djblets-0.5.7-
py2.6.egg/djblets/util/misc.py", line 162, in cache_memoize
data = lookup_callable()
File "/usr/local/lib/python2.6/site-packages/ReviewBoard-1.5beta1-
py2.6.egg/reviewboard/diffviewer/diffutils.py", line 886, in <lambda>
enable_syntax_highlighting)),
File "/usr/local/lib/python2.6/site-packages/ReviewBoard-1.5beta1-
py2.6.egg/reviewboard/diffviewer/diffutils.py", line 537, in get_chunks
new = get_patched_file(old, filediff)
File "/usr/local/lib/python2.6/site-packages/ReviewBoard-1.5beta1-
py2.6.egg/reviewboard/diffviewer/diffutils.py", line 362, in get_patched_file
return patch(filediff.diff, buffer, filediff.dest_file)
File "/usr/local/lib/python2.6/site-packages/ReviewBoard-1.5beta1-
py2.6.egg/reviewboard/diffviewer/diffutils.py", line 224, in patch
(filename, tempdir, patch_output))
Exception: The patch
to 'xxx/IMEngine.h' didn't apply
cleanly. The temporary files have been left in '/var/tmp/reviewboard.u23uyk' for
debugging purposes.
`patch` returned: patch: **** mktemp : Permission denied
This is the same issue. It can't write to your /var/tmp. This sounds like a very messed up configuration. All users should be able to write to /tmp without problems, and many other applications can mess up if they can't. /tmp really should be world-writable.
Thanks! ReviewBoard works now! It was strange, the directory permission of apache user was been removed. I was only installed another software package, maybe it caused the problem. Thanks again! yunshan