Skip to content

On certain jpgs, getting error InvalidImage: Animation file, Corrupted file or Unsupported type #137

@krystalgd

Description

@krystalgd

Mokuro fails for me on certain images. I'm on Windows, and I have the CPU version of PyTorch installed. I can reproduce the error reliably with the following image,

https://github.com/user-attachments/assets/0af5206a-d63f-4fb6-b005-eb5ad8ce6e76

2025-08-08 19:20:29.920 | INFO     | mokuro.run:run:133 - Processing 1/1: C:\Users\krystal\Desktop\よつばと!\test
Processing pages...:   0%|                                                                                                                                                                | 0/1 [00:00<?, ?it/s]2025-08-08 19:20:29.946 | INFO     | mokuro.manga_page_ocr:__init__:41 - Initializing text detector, using device cpu
2025-08-08 19:20:31.193 | INFO     | manga_ocr.ocr:__init__:16 - Loading OCR model from kha-white/manga-ocr-base
2025-08-08 19:20:32.814 | INFO     | manga_ocr.ocr:__init__:28 - Using CPU
2025-08-08 19:20:33.678 | INFO     | manga_ocr.ocr:__init__:35 - OCR ready
Processing pages...:   0%|                                                                                                                                                                | 0/1 [00:03<?, ?it/s]
2025-08-08 19:20:33.701 | ERROR    | mokuro.run:run:142 - Error while processing C:\Users\krystal\Desktop\よつばと!\test
Traceback (most recent call last):

  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code

  File "C:\Users\krystal\AppData\Local\Programs\Python\Python313\Scripts\mokuro.exe\__main__.py", line 6, in <module>
    sys.exit(main())
    │   │    └ <function main at 0x000002C152E351C0>
    │   └ <built-in function exit>
    └ <module 'sys' (built-in)>

  File "C:\Users\krystal\AppData\Local\Programs\Python\Python313\Lib\site-packages\mokuro\__main__.py", line 7, in main
    fire.Fire(run)
    │    │    └ <function run at 0x000002C10365CA40>
    │    └ <function Fire at 0x000002C103607060>
    └ <module 'fire' from 'C:\\Users\\krystal\\AppData\\Local\\Programs\\Python\\Python313\\Lib\\site-packages\\fire\\__init__.py'>
  File "C:\Users\krystal\AppData\Local\Programs\Python\Python313\Lib\site-packages\fire\core.py", line 135, in Fire
    component_trace = _Fire(component, args, parsed_flag_args, context, name)
                      │     │          │     │                 │        └ 'mokuro'
                      │     │          │     │                 └ {}
                      │     │          │     └ Namespace(verbose=False, interactive=False, separator='-', completion=None, help=False, trace=False)
                      │     │          └ ['C:\\Users\\krystal\\Desktop\\よつばと!\\test\\']
                      │     └ <function run at 0x000002C10365CA40>
                      └ <function _Fire at 0x000002C10365C400>
  File "C:\Users\krystal\AppData\Local\Programs\Python\Python313\Lib\site-packages\fire\core.py", line 468, in _Fire
    component, remaining_args = _CallAndUpdateTrace(
    │                           └ <function _CallAndUpdateTrace at 0x000002C10365C540>
    └ <function run at 0x000002C10365CA40>
  File "C:\Users\krystal\AppData\Local\Programs\Python\Python313\Lib\site-packages\fire\core.py", line 684, in _CallAndUpdateTrace
    component = fn(*varargs, **kwargs)
                │   │          └ {}
                │   └ ['C:\\Users\\krystal\\Desktop\\よつばと!\\test\\']
                └ <function run at 0x000002C10365CA40>
> File "C:\Users\krystal\AppData\Local\Programs\Python\Python313\Lib\site-packages\mokuro\run.py", line 137, in run
    mg.process_volume(volume, ignore_errors=ignore_errors, no_cache=no_cache)
    │  │              │                     │                       └ False
    │  │              │                     └ False
    │  │              └ <mokuro.volume.Volume object at 0x000002C10364DFD0>
    │  └ <function MokuroGenerator.process_volume at 0x000002C1035CE8E0>
    └ <mokuro.mokuro_generator.MokuroGenerator object at 0x000002C10364E270>
  File "C:\Users\krystal\AppData\Local\Programs\Python\Python313\Lib\site-packages\mokuro\mokuro_generator.py", line 65, in process_volume
    raise e
  File "C:\Users\krystal\AppData\Local\Programs\Python\Python313\Lib\site-packages\mokuro\mokuro_generator.py", line 58, in process_volume
    result = self.mpocr(volume.path_in / img_path_rel)
             │    │     │      │         └ WindowsPath('よつばと!_4_146.jpg')
             │    │     │      └ <property object at 0x000002C102736D40>
             │    │     └ <mokuro.volume.Volume object at 0x000002C10364DFD0>
             │    └ <mokuro.manga_page_ocr.MangaPageOcr object at 0x000002C10364EF90>
             └ <mokuro.mokuro_generator.MokuroGenerator object at 0x000002C10364E270>
  File "C:\Users\krystal\AppData\Local\Programs\Python\Python313\Lib\site-packages\mokuro\manga_page_ocr.py", line 50, in __call__
    raise InvalidImage()
          └ <class 'mokuro.manga_page_ocr.InvalidImage'>

mokuro.manga_page_ocr.InvalidImage: Animation file, Corrupted file or Unsupported type
2025-08-08 19:20:33.723 | INFO     | mokuro.run:run:146 - Processed successfully: 0/1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions