diff --git a/gateway/platforms/api_server.py b/gateway/platforms/api_server.py index 22bf199b3..42ff0b581 100644 --- a/gateway/platforms/api_server.py +++ b/gateway/platforms/api_server.py @@ -423,7 +423,19 @@ class ResponseStore: (time.time(), response_id), ) self._conn.commit() - return json.loads(row[0]) + try: + return json.loads(row[0]) + except (json.JSONDecodeError, TypeError): + logger.warning( + "Corrupted JSON in response store for id=%s, evicting entry", + response_id, + ) + self._conn.execute( + "DELETE FROM responses WHERE response_id = ?", + (response_id,), + ) + self._conn.commit() + return None def put(self, response_id: str, data: Dict[str, Any]) -> None: """Store a response, evicting the oldest if at capacity."""