Unexpected Exception [Errno 13] Permission denied email

Good morning,

I’ve just received the following error message from our recently upgraded Indico:

Unexpected Exception occurred at indico.ifae.es: Could not send "event/2054/contribution/9248/4583-4016-CEPC-Doser-Bcn.pdf": [Errno 13] Permission denied: '/opt/indico/archive/event/2054/contribution/9248/4583-4016-CEPC-Doser-Bcn.pdf'

Then, the body of the message contains lots of lines like the following:

"2025-07-09 09:47:57,516  1b9a337f4cc34831  -       indico.flask - ERROR errors.py:113 -- Could not send "event/536/images/8-COST_LOGO_HighRes.jpg": [Errno 13] Permission denied: '/opt/indico/archive/event/536/images/8-COST_LOGO_HighRes.jpg'

Traceback (most recent call last):
  File "/opt/indico/.venv/lib/python3.12/site-packages/indico/core/storage/backend.py", line 275, in send_file
    return send_file(filename, self._resolve_path(file_id), content_type, inline=inline)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/indico/web/flask/util.py", line 275, in send_file
    rv = _send_file(path_or_fd, mimetype=mimetype, as_attachment=(not inline), download_name=name,

What might be happening?

Thanks in advance,

J

Was it an upgrade involving moving data to a new server? If yes, most likely you did not restore the correct permissions on the /opt/indico/archive directory tree.

Feel free to share the output of these commands if you need more help:

ls -l /opt/indico/archive/event/536/images/8-COST_LOGO_HighRes.jpg
ls -ld /opt/indico/archive/event/536/images/
ls -ld /opt/indico/archive/event/536/
ls -ld /opt/indico/archive/event/
ls -ld /opt/indico/archive/

Yes, we moved the /opt/indico/archive directory, but we realized we did it wrong, and there were lots of event folders lacking. Also, we had to change the permissions to user indico and group www-data in these folders, and we had to move the /opt/indico/legacy-archive (we received another email regarding this).

Thanks for your time!

J.