Internal Server Error @ EPFL

I have tried to figure out why there is a 500 internal server error.

Can somebody please help?

Debugging info:

systemctl status uwsgi

uwsgi.service - LSB: Start/stop uWSGI server instance(s)
Loaded: loaded (/etc/init.d/uwsgi; generated)
Active: active (exited) since Fri 2026-04-10 11:01:26 CEST; 13min ago
Docs: man:systemd-sysv-generator(8)
Process: 960 ExecStart=/etc/init.d/uwsgi start (code=exited, status=0/SUCCESS)
CPU: 32ms

Apr 10 11:01:25 vpaavpvm0067 systemd[1]: Starting uwsgi.service - LSB: Start/stop uWSGI server instance(s)…
Apr 10 11:01:26 vpaavpvm0067 uwsgi[960]: * Starting app server(s) uwsgi
Apr 10 11:01:26 vpaavpvm0067 uwsgi[960]: …done.
Apr 10 11:01:26 vpaavpvm0067 systemd[1]: Started uwsgi.service - LSB: Start/stop uWSGI server instance(s).

celery.log

2025-01-17 10:44:01,109 INFO celery.worker.consumer.connection Connected to redis://127.0.0.1:6379/0
2025-01-17 10:44:01,113 INFO celery.worker.consumer.mingle mingle: searching for neighbors
2025-01-17 10:44:01,117 INFO celery.beat beat: Starting…
2025-01-17 10:44:02,120 INFO celery.worker.consumer.mingle mingle: all alone
2025-01-17 10:44:02,129 INFO celery.apps.worker celery@vpaavpvm0067 ready.
2025-01-17 10:44:02,132 INFO celery.worker.strategy Task heartbeat[5be77cf9-d4ef-45e3-af59-4c794608e766] receive
d
2025-01-17 10:44:02,155 INFO celery.app.trace Task heartbeat[5be77cf9-d4ef-45e3-af59-4c794608e766] succeed
ed in 0.02167551504680887s: None
2025-01-17 10:45:00,001 INFO celery.beat Scheduler: Sending due task event_reminders (event_reminders
)
2025-01-17 10:45:00,005 INFO celery.worker.strategy Task event_reminders[705aca3b-e966-405f-9695-da70c50988af] r
eceived
2025-01-17 10:45:00,033 INFO celery.app.trace Task event_reminders[705aca3b-e966-405f-9695-da70c50988af] s
ucceeded in 0.027364405046682805s: None
2025-01-17 10:50:00,000 INFO celery.beat Scheduler: Sending due task event_reminders (event_reminders

indico.log

2026-04-10 06:12:25,657 INFO e9e2866cb38e4dd2 - indico.rh GET /event/4/page/2-access-how-to-get-to-the-epfl [IP=40.77.167.3] [PID=1034870]
2026-04-10 06:13:47,076 INFO c815cbfd9bed4770 - indico.rh GET /rooms/ [IP=171.229.247.134] [PID=1045028]
2026-04-10 06:13:47,362 INFO 13a4a188a60d4857 - indico.rh GET /login/?next=/rooms/ [IP=171.229.247.134] [PID=1044241]
2026-04-10 06:13:47,717 INFO dd1c769e8ef74a08 - indico.rh GET /rooms/ [IP=163.227.194.4] [PID=1045028]
2026-04-10 06:13:48,237 INFO 62f15ff6761140a0 - indico.rh GET /rooms/ [IP=177.112.10.179] [PID=1043997]
2026-04-10 06:13:48,683 INFO e29428ccf95b4668 - indico.rh GET /login/?next=/rooms/ [IP=163.227.194.4] [PID=1034870]
2026-04-10 06:13:48,866 INFO 561a597467224377 - indico.rh GET /login/?next=/rooms/ [IP=177.112.10.179] [PID=1043997]
2026-04-10 06:21:23,111 INFO 9894064cde6244bf - indico.rh GET /event/5/?print=1&view=standard_inline_minutes [IP=14.169.50.48] [PID=1045028]
2026-04-10 06:23:17,918 INFO f96041a9c4464ccd - indico.rh GET /login/?next=/event/5/?view%3Dstandard_inline_minutes [IP=14.162.43.101] [PID=1044241]

apache.log

[Wed Apr 08 16:14:40.909197 2026] [core:error] [pid 1027392:tid 1027414] [client 163.7.9.54:50342] AH10244: invalid URI path (/cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/bin/sh) [Thu Apr 09 09:28:06.339558 2026] [core:error] [pid 1036213:tid 1036264] [client 81.70.166.181:46154] AH10244: invalid URI path (/cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/bin/sh) [Thu Apr 09 17:31:56.377437 2026] [core:error] [pid 1036213:tid 1036219] [client 167.86.96.161:57682] AH10244: invalid URI path (/cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/bin/sh) [Thu Apr 09 21:34:10.433849 2026] [core:error] [pid 1036212:tid 1036254] [client 163.7.6.154:42572] AH10244: invalid URI path (/cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/bin/sh) [Thu Apr 09 23:48:58.593545 2026] [core:error] [pid 1036213:tid 1036221] [client 138.124.7.7:60714] AH10244: invalid URI path (/cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/bin/sh) [Fri Apr 10 06:40:13.483085 2026] [core:error] [pid 1047435:tid 1047464] [client 172.245.16.13:63634] AH10244: invalid URI path (/cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/bin/sh)

df -h

Filesystem Size Used Avail Use% Mounted on
tmpfs 6.3G 1.5M 6.3G 1% /run
/dev/mapper/ubuntu–vg-ubuntu–lv 38G 17G 19G 47% /

htop

516Mb/62.8Gb

browser

GET https://indico.epfl.ch/ 500 (Internal Server Error)Understand this error
favicon.ico:1 GET https://indico.epfl.ch/favicon.ico 500 (Internal Server Error)Understand this error
(index):1 Uncaught (in promise) Error: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received

run indico shell and see if you get a useful python error there.

alternatively systemctl status indico-uwsgi.service might also have something

Hi Adrian!

Thanks for the quick response.

root@vpaavpvm0067:/opt/indico/log/apache# indico shell
indico: command not found
root@vpaavpvm0067:/opt/indico/log/apache# systemctl status indico-uwsgi.service
● indico-uwsgi.service - Indico uWSGI
Loaded: loaded (/etc/systemd/system/indico-uwsgi.service; enabled; preset: enabled)
Active: active (running) since Fri 2026-04-10 11:01:28 CEST; 40min ago
Main PID: 873 (uwsgi)
Status: “uWSGI is ready”
Tasks: 9 (limit: 77012)
Memory: 142.5M (peak: 143.0M)
CPU: 1.848s
CGroup: /system.slice/indico-uwsgi.service
├─ 873 “indico uWSGI master”
├─1296 “indico uWSGI worker 1”
├─1298 “indico uWSGI worker 2”
├─1300 “indico uWSGI worker 3”
└─1303 “indico uWSGI worker 4”

Apr 10 11:20:43 vpaavpvm0067 indico-uwsgi[1298]: — no python application found, check your startup logs for errors —

do it as the indico user with the venv enabled

also please wrap logs etc in triple backticks here for monospace code formatting

Here we go!
```
indico@vpaavpvm0067:/opt/indico/log$ indico shell
indico: command not found

systemctl status indico-uwsgi.service
● indico-uwsgi.service - Indico uWSGI
Loaded: loaded (/etc/systemd/system/indico-uwsgi.service; enabled; preset: enabled)
Active: active (running) since Fri 2026-04-10 11:01:28 CEST; 46min ago
Main PID: 873 (uwsgi)
Status: “uWSGI is ready”
Tasks: 9 (limit: 77012)
Memory: 142.5M (peak: 143.0M)
CPU: 1.896s
CGroup: /system.slice/indico-uwsgi.service
├─ 873 “indico uWSGI master”
├─1296 “indico uWSGI worker 1”
├─1298 “indico uWSGI worker 2”
├─1300 “indico uWSGI worker 3”
└─1303 “indico uWSGI worker 4”

Warning: some journal files were not opened due to insufficient permissions.
vpaavpvm0067:/opt/indico/log> indico shell
indico: Command not found.
```

After activating venv:

indico@vpaavpvm0067:/opt/indico$ source .venv/bin/activate
(indico) indico@vpaavpvm0067:/opt/indico$ indico shell
Traceback (most recent call last):
  File "/opt/indico/.venv/bin/indico", line 8, in <module>
    sys.exit(cli())
             ^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/click/core.py", line 1442, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/click/core.py", line 1363, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/click/core.py", line 1830, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/click/core.py", line 1226, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/click/core.py", line 794, in invoke
    return callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/click/decorators.py", line 34, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/flask/cli.py", line 397, in decorator
    app = ctx.ensure_object(ScriptInfo).load_app()
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/flask/cli.py", line 342, in load_app
    app = self.create_app()
          ^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/indico/cli/util.py", line 26, in _create_app
    return make_app()
           ^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/indico/web/flask/app.py", line 476, in make_app
    app.config['INDICO'] = load_config(only_defaults=testing, override=config_override)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/indico/core/config.py", line 235, in load_config
    path = get_config_path()
           ^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/indico/core/config.py", line 177, in get_config_path
    raise Exception('No indico config found. Point the INDICO_CONFIG env var to your config file or '
Exception: No indico config found. Point the INDICO_CONFIG env var to your config file or move/symlink the config in one of the following locations: /home/indico/.indico.conf, /etc/indico.conf
(indico) indico@vpaavpvm0067:/opt/indico$ ls /home/indico/.indico.conf
ls: cannot access '/home/indico/.indico.conf': No such file or directory
(indico) indico@vpaavpvm0067:/opt/indico$ ls /etc/indico.conf
ls: cannot access '/etc/indico.conf': No such file or directory

does /opt/indico/etc/indico.conf exist? then create a symlink in /opt/indico/.indico.conf that points to it

It works again…

I used this command:
ln /etc/indico.conf /opt/indico/etc/indico.conf

Thanks for putting me on the right path!

(PATH?)

that created a hardlink which will eventually cause problems. delete it and recreate using ln -s .....

Done. Thanks again!