MediaCover Errors fixed in 2.0.0.2850

Background

A couple of weeks ago we released a feature on the ‘develop’ branch that would resize mediacovers (especially posters) to smaller sizes and serve those smaller posters to clients. This change has the potential to reduce bandwidth usage on the first view significantly. For example: 21 MB before and 1.8 MB after this change, which is a very significant improvement for mobile apps such as the Android app nzb360.

The feature had a fallback mechanism, which served fullsize images if the small images weren’t available. Mainly intended to cover the period that the version was installed but the library hadn’t updated yet.

The feature was tested on windows and ubuntu successfully and released to the ‘develop’ branch on January 15th.
We didn’t get any negative reports until after it was merged to the ‘master’ around February 2nd.

It wasn’t until later that we realized that installations missing libgdiplus wouldn’t just log errors, but actually create zero-byte images, thus rendering the fallback mechanism ineffective (which serves those corrupted files, instead of the full sized ones).

We’ve pushed a fix that should handle the zero-byte images to the UI and prevent further errors to be logged.
Version 2.0.0.2850 was later release to remove the EPIC FAIL errors that were still being logged on mono.

In any case, our apologies that this bug got to master before we knew about it.

Related links

Synology github issue here
Synology forum thread here
Sonarr forum threads here and here

Thanks for the quick response to this issue. Applied the latest update and whacked my mediacover folder again, all seems back to normal.

Still throwing epic fail error logs about the missing lib but not seeing it complain about poster-250 missing anymore.

Hi Talboth,

Thanks for the response and explanation. I have updated to latest version and also still having the EPIC FAIL errors on the libgdiplus.so: libgdiplus.so.

I’m on a synology box. Seems to be downloading images though the right way again.

I’m on 2.0.0.2830 (on a synology) and getting this exception :confused:

I have removed my MediaCover folder and still getting the exception.

As this happens so early in the startup process I am unable to update to the latest version :frowning:

I really should reply after I have finished looking for answers :stuck_out_tongue: slaps self on head

I followed the instructions here: Last update broke my installation [develop 2.0.0.1768] (NNB ONLY FOR SYNOLOGY)

I am still getting the “EPIC FAIL: An exception was thrown by the type initializer for System.Drawing.GDIPlus” but it doesn’t freeze up Sonarr.

Not sure how much of the log file I should paste:

15-2-7 10:50:06.5|Fatal|GlobalExceptionHandlers|EPIC FAIL: An exception was thrown by the type initializer for System.Drawing.GDIPlus

System.TypeInitializationException: An exception was thrown by the type initializer for System.Drawing.GDIPlus —> System.DllNotFoundException: libgdiplus.so
at (wrapper managed-to-native) System.Drawing.GDIPlus:GdiplusStartup (ulong&,System.Drawing.GdiplusStartupInput&,System.Drawing.GdiplusStartupOutput&)
at System.Drawing.GDIPlus…cctor () [0x00000] in :0
— End of inner exception stack trace —
at System.Drawing.Image.InitFromStream (System.IO.Stream stream) [0x00000] in :0
at System.Drawing.Bitmap…ctor (System.IO.Stream stream, Boolean useIcm) [0x00000] in :0
at (wrapper remoting-invoke-with-check) System.Drawing.Bitmap:.ctor (System.IO.Stream,bool)
at ImageResizer.ImageBuilder.DecodeStream (System.IO.Stream s, ImageResizer.ResizeSettings settings, System.String optionalPath) [0x00000] in :0
at ImageResizer.ImageBuilder.LoadImage (System.Object source, ImageResizer.ResizeSettings settings, Boolean restoreStreamPos) [0x00000] in :0

15-2-7 10:50:06.5|Fatal|GlobalExceptionHandlers|EPIC FAIL: libgdiplus.so

System.DllNotFoundException: libgdiplus.so
at (wrapper managed-to-native) System.Drawing.GDIPlus:GdiplusStartup (ulong&,System.Drawing.GdiplusStartupInput&,System.Drawing.GdiplusStartupOutput&)
at System.Drawing.GDIPlus…cctor () [0x00000] in :0

Just tore out libgdiplus on my ubuntu setup to repro.

This is ridiculous, I tell it to swallow the exception, but it’s still logs despite me telling it not to. Could be mono specific.
Well, at least the images are back. ** facepalm **

But I probably should spend time on getting a more permanent implementation in place instead of push updates to remove error messages. I’ll update the the first post.