Michael Romero created GEOS-5019:
------------------------------------
Summary: Transformation in SLD causes memory leak
Key: GEOS-5019
URL: https://jira.codehaus.org/browse/GEOS-5019
Project: GeoServer
Issue Type: Bug
Components: WMS, WPS
Affects Versions: 2.2.x
Environment: Ubuntu 11.10 x64
java version "1.6.0_29"
Reporter: Michael Romero
Assignee: Andrea Aime
Priority: Critical
Fix For: 2.2.x
Attachments: coverage.xml, hawaii_wnd_ucmp.tif, _raster.sld
When I display a particular GeoTiff with a RasterAsPointCollection Transformation in the SLD, the layer never displays and the JVM consumes as much memory as it's allowed. I tried giving the JVM 6GB and still had the problem. I created a GeoTiff coverage store and set the declared SRS to EPSG:4326 and set the SRS handling to force declared.
The issue has to do with the projection of the grid. If I create a user projection with the WKT from gdalinfo, set the declared SRS to this new one, and change the SRS handling to keep native I do not have this issue and the layer displays properly. I know my projection information is messed up but this situation still shouldn't cause this issue.
I can reproduce the error in the standalone Jetty version and running JBoss 5.1.0 GA. I am using a trunk snapshot (2.2.x).
Here is the stack trace I get once the JVM is out of memory:
17:21:33,202 ERROR [rendering] GC overhead limit exceeded
java.lang.OutOfMemoryError: GC overhead limit exceeded
at com.vividsolutions.jts.geom.Geometry.clone(Geometry.java:1575)
at com.vividsolutions.jts.geom.Point.clone(Point.java:203)
at org.geotools.renderer.crs.WrappingProjectionHandler.postProcess(WrappingProjectionHandler.java:131)
at org.geotools.renderer.lite.StreamingRenderer$RenderableFeature.getTransformedShape(StreamingRenderer.java:3092)
at org.geotools.renderer.lite.StreamingRenderer$RenderableFeature.getShape(StreamingRenderer.java:3044)
at org.geotools.renderer.lite.StreamingRenderer.processSymbolizers(StreamingRenderer.java:2561)
at org.geotools.renderer.lite.StreamingRenderer.process(StreamingRenderer.java:2473)
at org.geotools.renderer.lite.StreamingRenderer.drawPlain(StreamingRenderer.java:2329)
at org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:1982)
at org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:804)
at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:494)
at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:254)
at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:126)
at org.geoserver.wms.GetMap.executeInternal(GetMap.java:464)
at org.geoserver.wms.GetMap.run(GetMap.java:207)
at org.geoserver.wms.GetMap.run(GetMap.java:111)
at org.geoserver.wms.DefaultWebMapService.getMap(DefaultWebMapService.java:353)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira