Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RPi: OMX error and kodi hang with certain jpeg pictures #4089

Closed
HiassofT opened this issue Apr 11, 2015 · 5 comments
Closed

RPi: OMX error and kodi hang with certain jpeg pictures #4089

HiassofT opened this issue Apr 11, 2015 · 5 comments

Comments

@HiassofT
Copy link
Contributor

In OpenELEC 5.0.8 (also tested with 5.0.0 and Milhouse build 0410) certain JPGs trigger an OMX error which then lead to a kodi hang when the picture is viewed or a video is played.

Sample picture: http://www.horus.com/~hias/tmp/openelec-testvideos/hang.jpg
OE 5.0.8 debug log: http://sprunge.us/bRAR

I copied the sample picture to /storage/pictures/test/hang.jpg. As soon as I select the local pictures folder (and thumbnails are being extracted) I loose GUI sounds. When I then select the picture I only get a black screen. If I then press stop or back kodi hangs at the black screen and the onscreen debug info is no longer updated.

If I choose to play a video instead of viewing the picture when I lost GUI sounds I first get the waiting spinner, but the video doesn't play. If I then press stop kodi hangs again.

When I disable thumbnail extraction in the picture settings GUI sounds work after entering the pictures directory, but viewing the JPG again results in a black screen and kodi hang after stop/back.

At this point restarting kodi doesn't help (kodi can't initialize AE), I have to reboot the Pi to get it operational again.

@popcornmix
Copy link

I can reproduce the issue. Will investigate.

@popcornmix
Copy link

Your jpeg has repeated exif tags in (JPG_EXIF_XResolution/JPG_EXIF_YResolution).
I guess that's a bug in the encoding software (it makes no sense to have them), but we should handle it. However there was a bug in the code that replaces an existing exif entry which could kill the GPU.

It will be fixed in the next firmware update.

@HiassofT
Copy link
Contributor Author

Thanks a lot for the very quick reply and analysis! Never thought that a bad exif block could kill the GPU :)

I'll retest once the new firmware is out and then report back.

popcornmix added a commit to raspberrypi/firmware that referenced this issue Apr 20, 2015
kernel: smsc95xx: Disable turbo mode by default
See: raspberrypi/linux#837

kernel: SPI: merge upstream patches for spi-bcm2835
See: raspberrypi/linux#930

firmware: jpegdec: Fix memory corruption issue caused by repeated exif tags
See: OpenELEC/OpenELEC.tv#4089

firmware: lcd: Updated pi lcd support

firmware: arm_display: Avoid overscan for lcd displays
popcornmix added a commit to Hexxeh/rpi-firmware that referenced this issue Apr 20, 2015
kernel: smsc95xx: Disable turbo mode by default
See: raspberrypi/linux#837

kernel: SPI: merge upstream patches for spi-bcm2835
See: raspberrypi/linux#930

firmware: jpegdec: Fix memory corruption issue caused by repeated exif tags
See: OpenELEC/OpenELEC.tv#4089

firmware: lcd: Updated pi lcd support

firmware: arm_display: Avoid overscan for lcd displays
@popcornmix
Copy link

Latest firmware should have this fix in. Download start_x.elf and fixup_x.dat from https://github.com/raspberrypi/firmware/tree/master/boot and replace start.elf and fixup.dat on sdcard.

@HiassofT
Copy link
Contributor Author

Thanks a lot, I can confirm that this issue is fixed with the new firmware!

@lrusak lrusak closed this as completed Apr 21, 2015
neuschaefer pushed a commit to neuschaefer/raspi-binary-firmware that referenced this issue Feb 27, 2017
kernel: smsc95xx: Disable turbo mode by default
See: raspberrypi/linux#837

kernel: SPI: merge upstream patches for spi-bcm2835
See: raspberrypi/linux#930

firmware: jpegdec: Fix memory corruption issue caused by repeated exif tags
See: OpenELEC/OpenELEC.tv#4089

firmware: lcd: Updated pi lcd support

firmware: arm_display: Avoid overscan for lcd displays
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants