This started about 10 days ago, I thought it was a server issue before realising it was a client one. Images in posts and comments fail to load with the following error
Unknown error
Failed to create image decoder with message 'invalid input’Input contained an error.
It affects 99% of images and I haven’t been able to discrern a pattern in the images that load successfully. They have the same formats and URLs as the images that fail to load.
This started happening on 1.72.x, but updating to 1.73.0 has not helped.
I have looked at logcat and found that an error is generated that seems to be related to mime type detection, or heif format loading. Perhaps some changes were done to that code that don’t agree with my phone’s android 11 install. I haven’t done any changes to my phone, and it worked before, so I assume it is a change in the app that triggered this behaviour.
Here is the relevant logcat output when trying to view a jpeg image:
I HeifDecoderImpl: HeifDecoder* createHeifDecoder()
I HeifDecoderImpl: HeifDecoderImpl::HeifDecoderImpl()
I MMParserExtractor: Created(0xb4000078c8a66000)
E MM_OSAL: FileSource::FileSource
E MM_OSAL: FileSource::FileSource m_bEveryThingOK 1
E MMParserExtractor: FileSourceWrapper::New Init returned -1004
E MMParserExtractor: readMetaData - FileSourceWrapper::New returned NULL
E MMParserExtractor: MMParserExtractor::countTracks no tracks
W Utils: did not find mime type
W ExtendedUtils: did not find mime type
W Utils: did not find mime type
W ExtendedUtils: did not find mime type
I HeifDecoderImpl: HeifDecoderImpl::~HeifDecoderImpl()
E ErrorUtils: Unknown throwable android.graphics.ImageDecoder.DecodeException
E ErrorUtils: android.graphics.ImageDecoder$DecodeException: Failed to create image decoder with message 'invalid input'Input contained an error.
E ErrorUtils: at android.graphics.ImageDecoder.nCreate(Native Method)
E ErrorUtils: at android.graphics.ImageDecoder.createFromFile(Unknown Source:19)
E ErrorUtils: at android.graphics.ImageDecoder.access$600(Unknown Source:0)
E ErrorUtils: at android.graphics.ImageDecoder$FileSource.createImageDecoder(Unknown Source:2)
E ErrorUtils: at android.graphics.ImageDecoder.decodeBitmapImpl(Unknown Source:1)
E ErrorUtils: at android.graphics.ImageDecoder.decodeBitmap(Unknown Source:2)
E ErrorUtils: at coil3.decode.b.a(r8-map-id-91472c89a467098dfb73dac40527f712a4c3af1dbf42a37f171cabd4500276b3:84)
E ErrorUtils: at coil3.intercept.a.a(r8-map-id-91472c89a467098dfb73dac40527f712a4c3af1dbf42a37f171cabd4500276b3:160)
E ErrorUtils: at coil3.intercept.EngineInterceptor$execute$executeResult$1.w(r8-map-id-91472c89a467098dfb73dac40527f712a4c3af1dbf42a37f171cabd4500276b3:57)
...
There’s more obfuscated calls in the stack trace that I can include if helpful.


Sorry for the late reply. I looked into this as well. It looks like Android has a built-in AVIF decoder starting Android 12 and up which is why these images fail to load for you. There are AVIF libraries I can use that will allow Summit to load those images below Android 12 however the libraries are generally pretty big (~10 - 15MB). The library would be larger than the app itself so I am hesitant to add this to the app. Not sure what a good solution is at the moment.