From b6ed4ba55936e05107b23bbb6936d7ec3146f4d0 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Mon, 18 Dec 2023 18:02:31 +1100 Subject: [PATCH] feat(db): handle PIL errors opening images gracefully For example, if PIL tries to open a *really* big image, it will raise an exception to prevent reading a huge object into memory. --- .../services/shared/sqlite_migrator/migrations/migration_2.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/invokeai/app/services/shared/sqlite_migrator/migrations/migration_2.py b/invokeai/app/services/shared/sqlite_migrator/migrations/migration_2.py index 9b9dedcc58..e7f8619653 100644 --- a/invokeai/app/services/shared/sqlite_migrator/migrations/migration_2.py +++ b/invokeai/app/services/shared/sqlite_migrator/migrations/migration_2.py @@ -159,6 +159,9 @@ class Migration2Callback: except ImageFileNotFoundException: self._logger.warning(f"Image {image_name} not found, skipping") continue + except Exception as e: + self._logger.warning(f"Error while checking image {image_name}, skipping: {e}") + continue if "invokeai_workflow" in pil_image.info: try: UnsafeWorkflowWithVersionValidator.validate_json(pil_image.info.get("invokeai_workflow", ""))