Status/Resolution/Reason: Closed/Fixed/Fixed
Reporter/Name(from Bugbase): Gary Fenton / Gary Fenton ()
Created: 04/18/2017
Components: Charting/Graphing, Server
Versions: 2016
Failure Type: Memory Leak
Found In Build/Fixed In Build: Update 3 / 303875
Priority/Frequency: Normal / Some users will encounter
Locale/System: English / Win 2012 Server x64
Vote Count: 1
Problem Description: Repeated use of cfchart keeps increasing memory use until CF stops responding to requests. "Error 500 Java heap space" reported in the http status code. CF logs confirm out of memory.
Steps to Reproduce: Keep requesting a page that renders several PNG charts with cfchart. I'm using the default charting settings in CF Admin. Windows Server has 4GB RAM. Recently increased Java heap max to 2048Mb but this issue persists. Using update 3 of CF2016. No prior version installed, this is a brand new server.
Actual Result: Each page refresh makes the coldfusion.exe process consume 12Mb of memory. Repeat and after a few hours the max heap size is exceeded and requests slow down and then stop for good. CF then requires restarting. This is with just 1 users. In production the issue will manifest much quicker. Therefore CF2016 is not suitable for production use.
Expected Result: Memory use should not increase with the same page and charts being requested. This is NOT load testing. It's just 1 user (a developer) refreshing the page as part of a normal development session. Memory doesn't appear to be managed properly in CF.
Any Workarounds: None.
Exception entry in log file:
"Error","ajp-nio-8012-exec-10","04/18/17","13:35:18","test1_secure","Java heap space The specific sequence of files included or processed is: \\myFileServer\reports_media_results.cfm'' "
java.lang.OutOfMemoryError: Java heap space
at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:75)
at java.awt.image.Raster.createPackedRaster(Raster.java:467)
at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1032)
at java.awt.image.BufferedImage.<init>(BufferedImage.java:333)
at sun.java2d.pipe.DrawImage.makeBufferedImage(DrawImage.java:348)
at sun.java2d.pipe.DrawImage.renderImageXform(DrawImage.java:462)
at sun.java2d.pipe.DrawImage.transformImage(DrawImage.java:264)
at sun.java2d.pipe.DrawImage.scaleImage(DrawImage.java:124)
at sun.java2d.pipe.DrawImage.scaleImage(DrawImage.java:1050)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3274)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3214)
at com.zingchart.Context2d.jsFunction_drawImage(Context2d.java:154)
at sun.reflect.GeneratedMethodAccessor77.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:161)
at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:476)
at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:86)
at com.zingchart.zingchart_rhino_min._c_anonymous_250(Unknown Source)
at com.zingchart.zingchart_rhino_min.call(Unknown Source)
at org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2521)
at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:300)
at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:129)
at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76)
at com.zingchart.zingchart_rhino_min._c_anonymous_65(Unknown Source)
at com.zingchart.zingchart_rhino_min.call(Unknown Source)
at org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:119)
at com.zingchart.zingchart_rhino_min._c_anonymous_244(Unknown Source)
at com.zingchart.zingchart_rhino_min.call(Unknown Source)
at org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2521)
at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:300)
at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:129)
Attachments:
Comments: