we are on lucee Lucee 5.4.4.38/windows 2019 and our application has been working for about 4 years with 100s of photos uploaded daily using mobile phones.
Only today we started receiving the following:
Multiple exceptions (Unsupported JPEG process: SOF type 0xcd; Unsupported JPEG process: SOF type 0xcd; there is no decoder for format [JPEG] in this coder; org.apache.commons.imaging.ImageReadException:Invalid marker found in entropy data: 0xFF cd; All factories fail for the operation “fileload”)
Only happening to a few users so might be device specific but all these users have used the same devices to upload loads of photos before.
We checked it’s not HEIC.
User claim they haven’t changed anything.
We have had a windows update but the reason I want to rule that out because 99% of users can still get through so it must be device specific.
This is similar to an issue I encountered back in 2015 when using ACF with user-uploaded JPGs from the iPhone 4S. isImageFile() would return true, but CF would throw a hard error when attempting to read the image to resize it. It wouldn’t do this with all JPGs, but enough that it became a problem and we couldn’t identify the root cause. I think a different color palette was used in some cases.
At that point, we started leveraging GraphicsMagick, ImageMagick (for HEIC), ExifTool and MediaInfo executables to read & manipulate images. A huge speed performance boost was gained as a result. (The difference was so much better that we thought the script was broken and not doing anything.) There’s also the extra ability to perform bulk manipulations on a directory of images outside of CF (or using CFExecute with a BAT file.) All JPGs are optimized after being uploaded using GraphicsMagic to normalize RGB color palette, reduce dimensions & filesize and remove sensitive metadata. (Original is are retained if they are required for marketing or metadata reasons.)