AI login attempt?

Good morning,

In mid August I received an “Unexpected exception” email with what I understand to be an attempt to login to the management of an old event with ‘User-Agent’: 'Mozilla/5.0 (compatible) Ai2Bot-Dolma ‘’(+https://www.allenai.org/crawl)'}. This is the whole email:

Unexpected Exception occurred at indico.ifae.es: get('flask-session/8c2e8c18-7e28-4ae9-a1ee-3600876b6359') failed

2025-08-17 22:11:57,374  77108b0c3acc4194  -       indico.cache - ERROR cache.py:138 -- get('flask-session/8c2e8c18-7e28-4ae9-a1ee-3600876b6359') failed

Traceback (most recent call last):
  File "/opt/indico/.venv/lib/python3.12/site-packages/redis/\_parsers/hiredis.py", line 88, in read_from_socket
    bufflen = self.\_sock.recv_into(self.\_buffer)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TimeoutError: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/indico/.venv/lib/python3.12/site-packages/redis/connection.py", line 592, in read_response
    response = self.\_parser.read_response(disable_decoding=disable_decoding)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/redis/\_parsers/hiredis.py", line 128, in read_response
    self.read_from_socket()
  File "/opt/indico/.venv/lib/python3.12/site-packages/redis/\_parsers/hiredis.py", line 97, in read_from_socket
    raise TimeoutError("Timeout reading from socket")
TimeoutError: Timeout reading from socket

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/indico/.venv/lib/python3.12/site-packages/indico/core/cache.py", line 134, in get
    return super().get(key, default)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/flask_caching/\__init_\_.py", line 195, in get
    return self.cache.get(\*args, \*\*kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/indico/core/cache.py", line 55, in get
    return CachedNone.unwrap(super().get(key), default)
                             ^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/cachelib/redis.py", line 72, in get
    return self.serializer.loads(self.\_read_client.get(self.key_prefix + key))
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/redis/commands/core.py", line 1822, in get
    return self.execute_command("GET", name, keys=\[name\])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/redis/\__init_\_.py", line 235, in sentry_patched_execute_command
    return old_execute_command(self, name, \*args, \*\*kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/redis/client.py", line 559, in execute_command
    return self.\_execute_command(\*args, \*\*options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/redis/client.py", line 567, in \_execute_command
    return conn.retry.call_with_retry(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/redis/retry.py", line 65, in call_with_retry
    fail(error)
  File "/opt/indico/.venv/lib/python3.12/site-packages/redis/client.py", line 571, in <lambda>
    lambda error: self.\_disconnect_raise(conn, error),
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/redis/client.py", line 555, in \_disconnect_raise
    raise error
  File "/opt/indico/.venv/lib/python3.12/site-packages/redis/retry.py", line 62, in call_with_retry
    return do()
           ^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/redis/client.py", line 568, in <lambda>
    lambda: self.\_send_command_parse_response(
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/redis/client.py", line 542, in \_send_command_parse_response
    return self.parse_response(conn, command_name, \*\*options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/redis/client.py", line 584, in parse_response
    response = connection.read_response()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/indico/.venv/lib/python3.12/site-packages/redis/connection.py", line 596, in read_response
    raise TimeoutError(f"Timeout reading from {host_error}")
redis.exceptions.TimeoutError: Timeout reading from [127.0.0.1:6379](http://127.0.0.1:6379/)

{'data': {'get': {},
          'headers': {'Accept': 'text/css,\*/\*;q=0.1',
                      'Accept-Encoding': 'gzip, deflate, br, zstd',
                      'Connection': 'keep-alive',
                      'Cookie': 'indico_session=<redacted>',
                      'Host': '[indico.ifae.es](http://indico.ifae.es/)',
                      'If-Modified-Since': 'Tue, 08 Jul 2025 11:05:21 GMT',
                      'If-None-Match': '"1751972721.2146828-274187-686694683-gzip"',
                      'Referer': '[https://indico.ifae.es/login/?next=/event/216/manage](https://indico.ifae.es/login/?next=/event/216/manage)',
                      'Sec-Ch-Ua': '"HeadlessChrome";v="129", '
                                   '"Not=A?Brand";v="8", "Chromium";v="129"',
                      'Sec-Ch-Ua-Mobile': '?0',
                      'Sec-Ch-Ua-Platform': '"Windows"',
                      'Sec-Fetch-Dest': 'style',
                      'Sec-Fetch-Mode': 'no-cors',
                      'Sec-Fetch-Site': 'same-origin',
                      'User-Agent': 'Mozilla/5.0 (compatible) Ai2Bot-Dolma '
                                    '(+[https://www.allenai.org/crawl)'](https://www.allenai.org/crawl\)')},
          'json': None,
          'post': {},
          'url': None},
 'endpoint': None,
 'id': '77108b0c3acc4194',
 'ip': '192.101.162.252',
 'method': 'GET',
 'referrer': '[https://indico.ifae.es/login/?next=/event/216/manage](https://indico.ifae.es/login/?next=/event/216/manage)',
 'rh': None,
 'time': '2025-08-17T22:11:57.968661',
 'url': '[https://indico.ifae.es/dist/css/common.5b78c990.css](https://indico.ifae.es/dist/css/common.5b78c990.css)',
 'user': "ERROR: 'NoneType' object has no attribute 'user'",
 'user_agent': 'Mozilla/5.0 (compatible) Ai2Bot-Dolma '
               '(+[https://www.allenai.org/crawl)](https://www.allenai.org/crawl\))'}

It sent three more emails in the same minute with the same info. I don’t know if someone just used an AI assistant by mistake, but anyway I didn’t get any info regarding who or from where it might have been, and it seems strange. Any clues?

Thanks in advance,

J

So the error indicates that your Redis server was timing out. You might want to check if Redis is running or the crawler activity is overloading it - in that case you may want to set a memory limit and max memory policy in redis so it deletes old sessions when the memory limit is reached.

That aside everything is fine. Crawlers, be it AI or normal ones, are a normal thing when you have anything exposed to the internet.