Hi Paul,

What database are you using?

The patch problem is possibly a cause. It blocks Apache threads from
closing. We've seen this before, and have a fix in a release.
Unfortunately, it requires some newer stuff in order to prevent the
problem. You'll need the latest Review Board 1.6.x release, plus Python
2.6+, in order to fix it.

Christian


-- 
Christian Hammond - chip...@chipx86.com
Review Board - http://www.reviewboard.org
VMware, Inc. - http://www.vmware.com


On Wed, Feb 15, 2012 at 9:13 PM, Paul Schulz <p...@mawsonlakes.org> wrote:

> Greetings,
>
> I have an interesting access issue with my Reviewboard instance.
> I have a dedicated VM running reviewboard 1.5.4.
>
> The Problem:
> Every now and again users have issues using the system and I get Admin
> alert emails with the details below. The load on the machine goes up
> to approximate 4 (single processor).. more observations below.
>
> -------- (Email Message to Root) --------
> Traceback (most recent call last):
>
>  File
> "/usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/core/handlers/base.py",
> line 100, in get_response
>    response = callback(request, *callback_args, **callback_kwargs)
>
>  File
> "/usr/local/lib/python2.6/dist-packages/ReviewBoard-1.5.4-py2.6.egg/reviewboard/accounts/decorators.py",
> line 27, in _check
>    return view_func(*args, **kwargs)
>
>  File
> "/usr/local/lib/python2.6/dist-packages/ReviewBoard-1.5.4-py2.6.egg/reviewboard/accounts/decorators.py",
> line 46, in _check_valid_prefs
>    return view_func(request, *args, **kwargs)
>
>  File
> "/usr/local/lib/python2.6/dist-packages/ReviewBoard-1.5.4-py2.6.egg/reviewboard/reviews/views.py",
> line 141, in review_detail
>    visited.save()
>
>  File
> "/usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/db/models/base.py",
> line 458, in save
>    self.save_base(using=using, force_insert=force_insert,
> force_update=force_update)
>
>  File
> "/usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/db/models/base.py",
> line 558, in save_base
>    transaction.commit_unless_managed(using=using)
>
>  File
> "/usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/db/transaction.py",
> line 175, in commit_unless_managed
>    connection._commit()
>
>  File
> "/usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/db/backends/__init__.py",
> line 32, in _commit
>    return self.connection.commit()
>
> OperationalError: database is locked
>
>
> <ModPythonRequest
> path:/r/1371/,
> GET:<QueryDict: {}>,
> POST:<QueryDict: {}>,
> COOKIES:{'rbsessionid': '803f0ef200329d8921c1b70a9b7eb8ff'},
> META:{'AUTH_TYPE': None,
>  'CONTENT_LENGTH': 0,
>  'CONTENT_TYPE': None,
>  'GATEWAY_INTERFACE': 'CGI/1.1',
>  'HTTP_ACCEPT':
> 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
>  'HTTP_ACCEPT_ENCODING': 'gzip, deflate',
>  'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5',
>  'HTTP_CONNECTION': 'keep-alive',
>  'HTTP_COOKIE': 'rbsessionid=803f0ef200329d8921c1b70a9b7eb8ff',
>  'HTTP_HOST': 'review.****.***',
>  'HTTP_IF_NONE_MATCH': '****:2012-01-16 10:46:18.283850::2012-02-16
> 14:12:08.745932:0:1299464299',
>  'HTTP_REFERER': 'http://review.rocksoft.com/dashboard/',
>  'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64;
> rv:10.0.1) Gecko/20100101 Firefox/10.0.1',
>  'PATH_INFO': u'/r/1371/',
>  'PATH_TRANSLATED': None,
>  'QUERY_STRING': None,
>  'REMOTE_ADDR': '****.***.***.***',
>  'REMOTE_HOST': None,
>  'REMOTE_IDENT': None,
>  'REMOTE_USER': None,
>  'REQUEST_METHOD': 'GET',
>  'SCRIPT_NAME': '',
>  'SERVER_NAME': 'review.***.***.***',
>  'SERVER_PORT': 80,
>  'SERVER_PROTOCOL': 'HTTP/1.1',
>  'SERVER_SOFTWARE': 'mod_python'}>
> --------
>
> While trying to restart apache (and this is the wierd bit), patch
> appears to get started and open 'port 80' (yeah, I don't understand
> this either).
>
> # netstat -ntlp
> Active Internet connections (only servers)
> Proto Recv-Q Send-Q Local Address           Foreign Address
> State       PID/Program name
> ...
> tcp        0      0 0.0.0.0:80              0.0.0.0:*
> LISTEN      23275/patch
> ...
>
> # ps aux | grep patch
> www-data 23275  0.0  0.0   4036   492 ?        S    Jan12   0:00 patch
> -o /tmp/reviewboard.VDhhfR/tmp0HLn60-new
> /tmp/reviewboard.VDhhfR/tmp0HLn60
> www-data 23276  0.0  0.0   4036   484 ?        S    Jan12   0:00 patch
> -o /tmp/reviewboard.xTIxjP/tmpN7YjTq-new
> /tmp/reviewboard.xTIxjP/tmpN7YjTq
> www-data 32634  0.0  0.0   4036   528 ?        S    Jan17   0:00 patch
> -o /tmp/reviewboard.Mhy4yq/tmpqytjmk-new
> /tmp/reviewboard.Mhy4yq/tmpqytjmk
> www-data 32635  0.0  0.0   4036   532 ?        S    Jan17   0:00 patch
> -o /tmp/reviewboard.NrBcSF/tmpq5ehYD-new
> /tmp/reviewboard.NrBcSF/tmpq5ehYD
>
> Question 1: Why does 'patch' have port 80 open? ( I have some
> thoughts, but it requires more knowledge on how
>  reviewboard calls patch ).
>
> Question 2: Is this what would cause issues accessing the apache
> server? (It certainly doesn't allow the apache server to restart.)
>
> Cheers,
> Paul
>
> --
> 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

-- 
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