kivy / kivy-ios

Toolchain for compiling Python / Kivy / other libraries for iOS
https://kivy.org/docs/guide/packaging-ios.html
MIT License
758 stars 238 forks source link

OSError: codec configuration error when reading image file #818

Closed venkataraja705 closed 1 year ago

venkataraja705 commented 1 year ago

Versions

Describe the bug

i am trying to decode a image string with base64 format

this is the code

def encode_image_api(encode_string, image_name):
        '''method which converting the encode base64 string into the image with .png format'''
        encoded_string = encode_string
        image_bytes = base64.b64decode(encoded_string)
        image_data = io.BytesIO(image_bytes)
        with Image.open(image_data) as im_file:
            im_file.save(f"{image_name}.png")

my 64bit encoded image string

encode_string = "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"

To Reproduce

steps:

toolchain build kivy python3 pillow toolchian create app-name source-foldername

i got the .xcodeproj file name

In xcode editor i got build and tested in the xcode emulator

which my application got crashed at this function called --->encode_image_api()

below i provided the logs

Expected behavior // REPLACE ME: A clear and concise description of what you expected to happen.

Logs

[DEBUG  ] STREAM b'IHDR' 16 13
[DEBUG  ] STREAM b'sRGB' 41 1
[DEBUG  ] STREAM b'gAMA' 54 4
[DEBUG  ] STREAM b'pHYs' 70 9
[DEBUG  ] STREAM b'IDAT' 91 5391
 Traceback (most recent call last):
   File "/Users/admin/Desktop/sdvapp/sdv1demo-ios/YourApp/main.py", line 659, in <module>
   File "/Users/admin/Library/Developer/CoreSimulator/Devices/77568404-B3F6-4EAB-A1B1-0B585D7F1413/data/Containers/Bundle/Application/23C4E693-6252-4E6D-85C5-3D7D9C254BB1/sdv1demo.app/lib/python3.10/site-packages/kivy/app.py", line 955, in run
     self._run_prepare()
   File "/Users/admin/Library/Developer/CoreSimulator/Devices/77568404-B3F6-4EAB-A1B1-0B585D7F1413/data/Containers/Bundle/Application/23C4E693-6252-4E6D-85C5-3D7D9C254BB1/sdv1demo.app/lib/python3.10/site-packages/kivy/app.py", line 950, in _run_prepare
     self.dispatch('on_start')
   File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch
   File "/Users/admin/Desktop/sdvapp/sdv1demo-ios/YourApp/main.py", line 639, in on_start
   File "/Users/admin/Desktop/sdvapp/sdv1demo-ios/YourApp/main.py", line 620, in __load_app_content
   File "/Users/admin/Desktop/sdvapp/sdv1demo-ios/YourApp/main.py", line 582, in __encode_image_api
   File "/Users/admin/Library/Developer/CoreSimulator/Devices/77568404-B3F6-4EAB-A1B1-0B585D7F1413/data/Containers/Bundle/Application/23C4E693-6252-4E6D-85C5-3D7D9C254BB1/sdv1demo.app/lib/python3.10/site-packages/PIL/Image.py", line 2138, in save
     self._ensure_mutable()
   File "/Users/admin/Library/Developer/CoreSimulator/Devices/77568404-B3F6-4EAB-A1B1-0B585D7F1413/data/Containers/Bundle/Application/23C4E693-6252-4E6D-85C5-3D7D9C254BB1/sdv1demo.app/lib/python3.10/site-packages/PIL/Image.py", line 619, in _ensure_mutable
     self._copy()
   File "/Users/admin/Library/Developer/CoreSimulator/Devices/77568404-B3F6-4EAB-A1B1-0B585D7F1413/data/Containers/Bundle/Application/23C4E693-6252-4E6D-85C5-3D7D9C254BB1/sdv1demo.app/lib/python3.10/site-packages/PIL/Image.py", line 612, in _copy
     self.load()
   File "/Users/admin/Library/Developer/CoreSimulator/Devices/77568404-B3F6-4EAB-A1B1-0B585D7F1413/data/Containers/Bundle/Application/23C4E693-6252-4E6D-85C5-3D7D9C254BB1/sdv1demo.app/lib/python3.10/site-packages/PIL/ImageFile.py", line 274, in load
     raise_oserror(err_code)
   File "/Users/admin/Library/Developer/CoreSimulator/Devices/77568404-B3F6-4EAB-A1B1-0B585D7F1413/data/Containers/Bundle/Application/23C4E693-6252-4E6D-85C5-3D7D9C254BB1/sdv1demo.app/lib/python3.10/site-packages/PIL/ImageFile.py", line 67, in raise_oserror
     raise OSError(message + " when reading image file")
 OSError: codec configuration error when reading image file
2023-06-13 22:05:27.931785-0700 sdv1demo[90662:9602270] Application quit abnormally!
2023-06-13 22:05:28.030649-0700 sdv1demo[90662:9602270] Leaving
2023-06-13 22:05:30.531681-0700 sdv1demo[90662:9602270] [client] Timed out waiting for the exit barrier block. activeSendTransactions=0

Screenshots

Additional context Add any other context about the problem here.

github-actions[bot] commented 1 year ago

👋 We use the issue tracker exclusively for bug reports and feature requests. However, this issue appears to be a support request. Please use our support channels to get help with the project.

If you're having trouble installing or using kivy-ios, maybe you could be interested to installation and requirements.

Let us know if this comment was made in error, and we'll be happy to reopen the issue.

brentpicasso commented 1 year ago

@misl6 please reopen - I think we're seeing a similar issue and the pillow recipe is not including png support.

According to this comment, it seems that we need to compile pillow with libpng support https://github.com/python-pillow/Pillow/issues/7213#issuecomment-1594686518

Does this look like the recipe needs to be updated?

We are getting a codec error when trying to work with a base64 encoded file:


[CRITICAL] [Traceback (most recent call last)]
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/base.py", line 354, in async_mainloop
    await self.async_idle()
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/base.py", line 422, in async_idle
    self.dispatch_input()
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/base.py", line 334, in dispatch_input
    post_dispatch_input(*pop(0))
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/base.py", line 263, in post_dispatch_input
    listener.dispatch('on_motion', etype, me)
  File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/core/window/__init__.py", line 1691, in on_motion
    self.dispatch('on_touch_down', me)
  File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/core/window/__init__.py", line 1708, in on_touch_down
    if w.dispatch('on_touch_down', touch):
  File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/uix/modalview.py", line 266, in on_touch_down
    super().on_touch_down(touch)
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/uix/widget.py", line 589, in on_touch_down
    if child.dispatch('on_touch_down', touch):
  File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivymd/uix/behaviors/ripple_behavior.py", line 352, in on_touch_down
    super().on_touch_down(touch)
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/uix/behaviors/button.py", line 138, in on_touch_down
    if super(ButtonBehavior, self).on_touch_down(touch):
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/uix/widget.py", line 589, in on_touch_down
    if child.dispatch('on_touch_down', touch):
  File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/uix/widget.py", line 589, in on_touch_down
    if child.dispatch('on_touch_down', touch):
  File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/uix/widget.py", line 589, in on_touch_down
    if child.dispatch('on_touch_down', touch):
  File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivymd/uix/button/button.py", line 917, in on_touch_down
    return super().on_touch_down(touch)
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivymd/uix/behaviors/ripple_behavior.py", line 352, in on_touch_down
    super().on_touch_down(touch)
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/uix/behaviors/button.py", line 151, in on_touch_down
    self.dispatch('on_press')
  File "kivy/_event.pyx", line 727, in kivy._event.EventDispatcher.dispatch
  File "kivy/_event.pyx", line 1307, in kivy._event.EventObservers.dispatch
  File "kivy/_event.pyx", line 1231, in kivy._event.EventObservers._dispatch
  File "/Users/macmini/git-projects/kivy-ios/racecaptureapp-ios/YourApp/autosportlabs/views/presets/presetview.py", line 1463, in save
  File "/Users/macmini/git-projects/kivy-ios/racecaptureapp-ios/YourApp/autosportlabs/views/presets/presetview.py", line 1351, in create_preview_file
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/PIL/Image.py", line 904, in convert
    self.load()
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/PIL/ImageFile.py", line 274, in load
    raise_oserror(err_code)
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/PIL/ImageFile.py", line 67, in raise_oserror
    raise OSError(message + " when reading image file")
OSError: codec configuration error when reading image file

[DEBUG  ] STREAM b'IHDR' 16 13
[DEBUG  ] STREAM b'IDAT' 41 87379
[CRITICAL] [CrashHandler] Caught exception in Kivy loop: codec configuration error when reading image file 
[CRITICAL] [Traceback (most recent call last)]
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/base.py", line 354, in async_mainloop
    await self.async_idle()
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/base.py", line 422, in async_idle
    self.dispatch_input()
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/base.py", line 334, in dispatch_input
    post_dispatch_input(*pop(0))
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/base.py", line 263, in post_dispatch_input
    listener.dispatch('on_motion', etype, me)
  File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/core/window/__init__.py", line 1691, in on_motion
    self.dispatch('on_touch_down', me)
  File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/core/window/__init__.py", line 1708, in on_touch_down
    if w.dispatch('on_touch_down', touch):
  File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/uix/modalview.py", line 266, in on_touch_down
    super().on_touch_down(touch)
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/uix/widget.py", line 589, in on_touch_down
    if child.dispatch('on_touch_down', touch):
  File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivymd/uix/behaviors/ripple_behavior.py", line 352, in on_touch_down
    super().on_touch_down(touch)
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/uix/behaviors/button.py", line 138, in on_touch_down
    if super(ButtonBehavior, self).on_touch_down(touch):
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/uix/widget.py", line 589, in on_touch_down
    if child.dispatch('on_touch_down', touch):
  File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/uix/widget.py", line 589, in on_touch_down
    if child.dispatch('on_touch_down', touch):
  File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/uix/widget.py", line 589, in on_touch_down
    if child.dispatch('on_touch_down', touch):
  File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivymd/uix/button/button.py", line 917, in on_touch_down
    return super().on_touch_down(touch)
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivymd/uix/behaviors/ripple_behavior.py", line 352, in on_touch_down
    super().on_touch_down(touch)
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/kivy/uix/behaviors/button.py", line 151, in on_touch_down
    self.dispatch('on_press')
  File "kivy/_event.pyx", line 727, in kivy._event.EventDispatcher.dispatch
  File "kivy/_event.pyx", line 1307, in kivy._event.EventObservers.dispatch
  File "kivy/_event.pyx", line 1231, in kivy._event.EventObservers._dispatch
  File "/Users/macmini/git-projects/kivy-ios/racecaptureapp-ios/YourApp/autosportlabs/views/presets/presetview.py", line 1463, in save
  File "/Users/macmini/git-projects/kivy-ios/racecaptureapp-ios/YourApp/autosportlabs/views/presets/presetview.py", line 1351, in create_preview_file
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/PIL/Image.py", line 904, in convert
    self.load()
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/PIL/ImageFile.py", line 274, in load
    raise_oserror(err_code)
  File "/var/containers/Bundle/Application/8FE1E6D8-B89E-4A21-8AB4-933C0668FC7E/racecaptureapp.app/lib/python3.10/site-packages/PIL/ImageFile.py", line 67, in raise_oserror
    raise OSError(message + " when reading image file")
OSError: codec configuration error when reading image file```