I'm running a Windows 2012 Server virtual machine with SSRS 2012 installed. I develop SSRS reports which include charts in Visual Studio 2012 using BIDS 2012. When previewing the reports locally, the charts appear without issue. I then
deployed my reports to my SSRS 2012 server and the charts do not appear and are replaced by the image placeholder (indicating a missing image).
After perusing the SSRS log files, I found this exception:
ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.RenderingObjectModelException: , Microsoft.ReportingServices.ReportProcessing.RenderingObjectModelException: A generic error occurred in GDI+. ---> System.Runtime.InteropServices.ExternalException:
A generic error occurred in GDI+.
at System.Drawing.Image.Save(Stream stream, ImageCodecInfo encoder, EncoderParameters encoderParams)
at System.Drawing.Image.Save(Stream stream, ImageFormat format)
at Microsoft.Reporting.Chart.WebForms.Chart.Save(Stream imageStream, ChartImageFormat format)
at Microsoft.ReportingServices.OnDemandReportRendering.ChartMapper.GetImage(ImageType imageType)
--- End of inner exception stack trace ---;
I've done some searching regarding the above exception and I haven't found a solution nor do I have a clear idea of why the exception is thrown. I've found a handful of possibilities:
1. gdiplus.dll (Graphic Display Interface) needs to be updated
I've ensured that my server is up-to-date with the latest and greatest. gdiplus.dll on my server is currently version 6.2.9200.16518. This doesn't seem to apply to my situation.
2. Ensure write permissions on the "folder to which SSRS caches the charts"
Well, firstly, I have not found a single article on the net as to where this folder is; however, I tested this locally on the server while logged in as Administrator with full privileges. This doesn't seem to apply to my situation either.
3. SQL Server 2012 Cumulative Update Package 1
Apparently a similar issue was addressed in this package, and I've confirmed that my server was equipped with SQL Server 2012 Service Pack 1 (which is newer than Cumulative Update Package 1. Again, this doesn't seem to apply to my situation.
I hypothesize that this issue is related to a display driver (or lack thereof) with regard to my server being a Virtual Machine. Has anyone experienced this issue or can confirm that charts will not render when hosted on a Windows Server 2012 Virtual Machine running SSRS 2012?
Edit
In a last ditch effort, I stumbled upon an article which indicates that there is a newer version of gdiplus.dll. My server is currently 6.2.9200.16518 and according to the NET, the latest version is 6.2.9200.20655. MSDN article 2823372
contains a hotfix which seems to include this latest version. I'll report back with my findings once installed.
Edit
Updated gdiplus.dll from version 6.2.9200.16518 to 6.2.9200.20655 by downloading hotfix from Microsoft Download Center (search for KB2823372) then restarted server and now charts are successfully rendering.