What version are you running?
- Reviewboard lastest
- Python 3.13
What's the URL of the page containing the problem?
https://reviewboard.trekwerk.com
What steps will reproduce the problem?
- I've tested wsgi and it works
- Could it be the Python version?
- I've put the error log output on pastebin, https://pastebin.com/k2vTSDhH
What is the expected output? What do you see instead?
- A working website.
- I see only a page in plain text with HTTP 500 - Review Board is taking a nap
What operating system are you using? What browser?
- Site running on a Debian 13
- Laptop on Windows 11
- Browser is Brave
Please provide any additional information below.
I've run a basic python script in the revieboard venv that uses import and that runs okay.
So it looks like python is working normally in the reviewboard venv
Running this command:
/var/www/reviewboard/venv/bin/python -c "from reviewboard.wsgi import application; print('Success')"Resulted in this error:
Traceback (most recent call last):File "<string>", line 1, in <module>
from reviewboard.wsgi import application; print('Success') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/var/www/reviewboard/venv/lib/python3.13/site-packages/reviewboard/wsgi.py", line 21, in <module>
raise RuntimeError( ...<2 lines>... )RuntimeError: The REVIEWBOARD_SITEDIR environment variable must be set to the Review Board site directory.
Setting this export REVIEWBOARD_SITEDIR='/var/www/reviewboard' results in a Success.
So for now I've added the following line in my apache config:
SetEnv REVIEWBOARD_SITEDIR /var/www/reviewboardAfter restarting the apache server it first looked good, so I made a backup of the log to have a clean one, but the same fault.
After running the command /var/www/reviewboard/venv/bin/python -c "from reviewboard.wsgi import application; print('Success')" in de Reviewboard venv again the error log changed somewhat
Now it ends with:
RuntimeError: populate() isn't reentrant
Here is the full error log:
[Mon Apr 13 12:16:44.614792 2026] [wsgi:error] [pid 19522:tid 19534] [client 192.168.15.6:49394] mod_wsgi (pid=19522): Failed to exec Python script file '/var/www/reviewboard/htdocs/reviewboard.wsgi'.
[Mon Apr 13 12:16:44.614950 2026] [wsgi:error] [pid 19522:tid 19534] [client 192.168.15.6:49394] mod_wsgi (pid=19522): Exception occurred processing WSGI script '/var/www/reviewboard/htdocs/reviewboard.wsgi'.
[Mon Apr 13 12:16:44.615745 2026] [wsgi:error] [pid 19522:tid 19534] [client 192.168.15.6:49394] Traceback (most recent call last):
[Mon Apr 13 12:16:44.617244 2026] [wsgi:error] [pid 19522:tid 19534] [client 192.168.15.6:49394] File "/var/www/reviewboard/htdocs/reviewboard.wsgi", line 17, in <module>
[Mon Apr 13 12:16:44.617271 2026] [wsgi:error] [pid 19522:tid 19534] [client 192.168.15.6:49394] from reviewboard.wsgi import application
[Mon Apr 13 12:16:44.617294 2026] [wsgi:error] [pid 19522:tid 19534] [client 192.168.15.6:49394] File "/var/www/reviewboard/venv/lib/python3.13/site-packages/reviewboard/wsgi.py", line 93, in <module>
[Mon Apr 13 12:16:44.617305 2026] [wsgi:error] [pid 19522:tid 19534] [client 192.168.15.6:49394] application = get_wsgi_application()
[Mon Apr 13 12:16:44.617324 2026] [wsgi:error] [pid 19522:tid 19534] [client 192.168.15.6:49394] File "/opt/reviewboard/lib/python3.13/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
[Mon Apr 13 12:16:44.617334 2026] [wsgi:error] [pid 19522:tid 19534] [client 192.168.15.6:49394] django.setup(set_prefix=False)
[Mon Apr 13 12:16:44.617343 2026] [wsgi:error] [pid 19522:tid 19534] [client 192.168.15.6:49394] ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
[Mon Apr 13 12:16:44.617360 2026] [wsgi:error] [pid 19522:tid 19534] [client 192.168.15.6:49394] File "/opt/reviewboard/lib/python3.13/site-packages/django/init.py", line 24, in setup
[Mon Apr 13 12:16:44.617387 2026] [wsgi:error] [pid 19522:tid 19534] [client 192.168.15.6:49394] apps.populate(settings.INSTALLED_APPS)
[Mon Apr 13 12:16:44.617394 2026] [wsgi:error] [pid 19522:tid 19534] [client 192.168.15.6:49394] ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
[Mon Apr 13 12:16:44.617409 2026] [wsgi:error] [pid 19522:tid 19534] [client 192.168.15.6:49394] File "/opt/reviewboard/lib/python3.13/site-packages/django/apps/registry.py", line 83, in populate
[Mon Apr 13 12:16:44.617417 2026] [wsgi:error] [pid 19522:tid 19534] [client 192.168.15.6:49394] raise RuntimeError("populate() isn't reentrant")
[Mon Apr 13 12:16:44.617457 2026] [wsgi:error] [pid 19522:tid 19534] [client 192.168.15.6:49394] RuntimeError: populate() isn't reentrant
Tried to fix it within the script, but then it want's to pull files from /opt and /usr
[Mon Apr 13 12:14:26.632643 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] mod_wsgi (pid=19522): Failed to exec Python script file '/var/www/reviewboard/htdocs/reviewboard.wsgi'.
[Mon Apr 13 12:14:26.632706 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] mod_wsgi (pid=19522): Exception occurred processing WSGI script '/var/www/reviewboard/htdocs/reviewboard.wsgi'.
[Mon Apr 13 12:14:26.634361 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] Traceback (most recent call last):
[Mon Apr 13 12:14:26.635684 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] File "/var/www/reviewboard/htdocs/reviewboard.wsgi", line 17, in <module>
[Mon Apr 13 12:14:26.635699 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] from reviewboard.wsgi import application
[Mon Apr 13 12:14:26.635708 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] File "/var/www/reviewboard/venv/lib/python3.13/site-packages/reviewboard/wsgi.py", line 93, in <module>
[Mon Apr 13 12:14:26.635711 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] application = get_wsgi_application()
[Mon Apr 13 12:14:26.635717 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] File "/opt/reviewboard/lib/python3.13/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
[Mon Apr 13 12:14:26.635720 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] django.setup(set_prefix=False)
[Mon Apr 13 12:14:26.635722 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
[Mon Apr 13 12:14:26.635727 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] File "/opt/reviewboard/lib/python3.13/site-packages/django/init.py", line 24, in setup
[Mon Apr 13 12:14:26.635730 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] apps.populate(settings.INSTALLED_APPS)
[Mon Apr 13 12:14:26.635732 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
[Mon Apr 13 12:14:26.635737 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] File "/opt/reviewboard/lib/python3.13/site-packages/django/apps/registry.py", line 116, in populate
[Mon Apr 13 12:14:26.635740 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] app_config.import_models()
[Mon Apr 13 12:14:26.635742 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] ~~~~~~~~~~~~~~~~~~~~~~~~^^
[Mon Apr 13 12:14:26.635747 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] File "/opt/reviewboard/lib/python3.13/site-packages/django/apps/config.py", line 269, in import_models
[Mon Apr 13 12:14:26.635749 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] self.models_module = import_module(models_module_name)
[Mon Apr 13 12:14:26.635752 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
[Mon Apr 13 12:14:26.635756 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] File "/usr/lib/python3.13/importlib/init.py", line 88, in import_module
[Mon Apr 13 12:14:26.635759 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] return _bootstrap._gcd_import(name[level:], package, level)
[Mon Apr 13 12:14:26.635761 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[Mon Apr 13 12:14:26.635766 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] File "/opt/reviewboard/lib/python3.13/site-packages/djblets/siteconfig/models.py", line 11, in <module>
[Mon Apr 13 12:14:26.635769 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] from djblets.cache.synchronizer import GenerationSynchronizer
[Mon Apr 13 12:14:26.635774 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] File "/opt/reviewboard/lib/python3.13/site-packages/djblets/cache/synchronizer.py", line 13, in <module>
[Mon Apr 13 12:14:26.635788 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] from djblets.cache.backend import make_cache_key
[Mon Apr 13 12:14:26.635794 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] File "/opt/reviewboard/lib/python3.13/site-packages/djblets/cache/backend.py", line 28, in <module>
[Mon Apr 13 12:14:26.635796 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] from djblets.secrets.crypto import (aes_decrypt,
[Mon Apr 13 12:14:26.635798 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] ...<3 lines>...
[Mon Apr 13 12:14:26.635801 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] get_default_aes_encryption_key)
[Mon Apr 13 12:14:26.635805 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] File "/opt/reviewboard/lib/python3.13/site-packages/djblets/secrets/crypto.py", line 12, in <module>
[Mon Apr 13 12:14:26.635808 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
[Mon Apr 13 12:14:26.635814 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] File "/opt/reviewboard/lib/python3.13/site-packages/cryptography/hazmat/primitives/ciphers/init.py", line 11, in <module>
[Mon Apr 13 12:14:26.635816 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] from cryptography.hazmat.primitives.ciphers.base import (
[Mon Apr 13 12:14:26.635818 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] ...<5 lines>...
[Mon Apr 13 12:14:26.635821 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] )
[Mon Apr 13 12:14:26.635825 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] File "/opt/reviewboard/lib/python3.13/site-packages/cryptography/hazmat/primitives/ciphers/base.py", line 10, in <module>
[Mon Apr 13 12:14:26.635828 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] from cryptography.hazmat.bindings._rust import openssl as rust_openssl
[Mon Apr 13 12:14:26.635843 2026] [wsgi:error] [pid 19522:tid 19524] [client 192.168.15.6:51334] ModuleNotFoundError: No module named '_cffi_backend'