Here's the latest...

Some recent discussions you might care about...

ict_beo
#5 ict_beo

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'

ict_beo
#4 ict_beo

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

ict_beo
#3 ict_beo

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

After 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

ict_beo
#2 ict_beo

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

ict_beo
#1 ict_beo

Correction:
- Python version 3.13.5

david
#1 david

This is fixed in git and will ship in 7.0.5 very soon.

david
#4 david

Fixed in release-7.1.x (69504af). Thanks!