[Geoserver-devel] GeoServer Trunk - Error rendering Oracle Spatial Layer

Hi,

The following stack trace is generated while rendering an Oracle Spatial Layer using the current trunk. Works fine with 1.7.3 version.

2009-04-22 12:13:06,906 INFO [org.geoserver] - Loaded service ‘wcs’, enabled
2009-04-22 12:13:06,953 INFO [org.geoserver] - Loaded service ‘wfs’, enabled
2009-04-22 12:13:06,985 INFO [org.geoserver] - Loaded service ‘wms’, enabled
2009-04-22 12:13:35,748 ERROR [geotools.rendering] - java.io.IOException
java.lang.RuntimeException: java.io.IOException
at org.geotools.data.store.
ContentFeatureCollection.iterator(ContentFeatureCollection.java:275)
at org.geotools.renderer.lite.StreamingRenderer.drawOptimized(StreamingRenderer.java:1743)
at org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:1677)
at org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:672)
at org.geotools.renderer.shape.ShapefileRenderer.renderWithStreamingRenderer(ShapefileRenderer.java:1478)
at org.geotools.renderer.shape.ShapefileRenderer.paint(ShapefileRenderer.java:1347)
at org.geotools.renderer.shape.ShapefileRenderer.paint(ShapefileRenderer.java:268)
at org.vfny.geoserver.wms.responses.DefaultRasterMapProducer.produceMap(DefaultRasterMapProducer.java:359)
at org.vfny.geoserver.wms.responses.GetMapResponse.execute(GetMapResponse.java:420)
at org.geoserver.ows.adapters.ResponseAdapter.getMimeType(ResponseAdapter.java:48)
at org.geoserver.ows.Dispatcher.response(Dispatcher.java:690)
at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:216)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:178)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:176)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.IOException
at org.geotools.jdbc.JDBCFeatureSource.getReaderInternal(JDBCFeatureSource.java:527)
at org.geotools.jdbc.JDBCFeatureStore.getReaderInternal(JDBCFeatureStore.java:172)
at org.geotools.data.store.ContentFeatureSource.getReader(ContentFeatureSource.java:508)
at org.geotools.data.store.ContentFeatureCollection.iterator(ContentFeatureCollection.java:272)
… 59 more
Caused by: java.lang.NullPointerException
at org.geotools.jdbc.PreparedFilterToSQL.visit(PreparedFilterToSQL.java:123)
at org.geotools.filter.LiteralExpressionImpl.accept(LiteralExpressionImpl.java:361)
at org.geotools.data.oracle.OracleFilterToSQL.doSDOFilter(OracleFilterToSQL.java:214)
at org.geotools.data.oracle.OracleFilterToSQL.visitBinarySpatialOperator(OracleFilterToSQL.java:172)
at org.geotools.jdbc.PreparedFilterToSQL.visitBinarySpatialOperator(PreparedFilterToSQL.java:253)
at org.geotools.data.jdbc.FilterToSQL.visit(FilterToSQL.java:747)
at org.geotools.filter.spatial.BBOXImpl.accept(BBOXImpl.java:202)
at org.geotools.data.jdbc.FilterToSQL.encode(FilterToSQL.java:183)
at org.geotools.data.jdbc.FilterToSQL.encodeToString(FilterToSQL.java:212)
at org.geotools.jdbc.JDBCDataStore.selectSQLPS(JDBCDataStore.java:2474)
at org.geotools.jdbc.JDBCFeatureSource.getReaderInternal(JDBCFeatureSource.java:514)
… 62 more


Thanks and Warm Regards
Debasish Sahu

Debasish Sahu ha scritto:

Hi,

The following stack trace is generated while rendering an Oracle Spatial Layer using the current trunk. Works fine with 1.7.3 version.

2009-04-22 12:13:06,906 INFO [org.geoserver] - Loaded service 'wcs', enabled
2009-04-22 12:13:06,953 INFO [org.geoserver] - Loaded service 'wfs', enabled
2009-04-22 12:13:06,985 INFO [org.geoserver] - Loaded service 'wms', enabled
2009-04-22 12:13:35,748 ERROR [geotools.rendering] - java.io.IOException
java.lang.RuntimeException: java.io.IOException
    at org.geotools.data.store.
ContentFeatureCollection.iterator(ContentFeatureCollection.java:275)
    at org.geotools.renderer.lite.StreamingRenderer.drawOptimized(StreamingRenderer.java:1743)
    at org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:1677)
    at org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:672)
    at org.geotools.renderer.shape.ShapefileRenderer.renderWithStreamingRenderer(ShapefileRenderer.java:1478)
    at org.geotools.renderer.shape.ShapefileRenderer.paint(ShapefileRenderer.java:1347)
    at org.geotools.renderer.shape.ShapefileRenderer.paint(ShapefileRenderer.java:268)
    at org.vfny.geoserver.wms.responses.DefaultRasterMapProducer.produceMap(DefaultRasterMapProducer.java:359)
    at org.vfny.geoserver.wms.responses.GetMapResponse.execute(GetMapResponse.java:420)
    at org.geoserver.ows.adapters.ResponseAdapter.getMimeType(ResponseAdapter.java:48)
    at org.geoserver.ows.Dispatcher.response(Dispatcher.java:690)
    at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:216)
    at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
    at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
    at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
    at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:178)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
    at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:176)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.IOException
    at org.geotools.jdbc.JDBCFeatureSource.getReaderInternal(JDBCFeatureSource.java:527)
    at org.geotools.jdbc.JDBCFeatureStore.getReaderInternal(JDBCFeatureStore.java:172)
    at org.geotools.data.store.ContentFeatureSource.getReader(ContentFeatureSource.java:508)
    at org.geotools.data.store.ContentFeatureCollection.iterator(ContentFeatureCollection.java:272)
    ... 59 more
Caused by: java.lang.NullPointerException
    at org.geotools.jdbc.PreparedFilterToSQL.visit(PreparedFilterToSQL.java:123)
    at org.geotools.filter.LiteralExpressionImpl.accept(LiteralExpressionImpl.java:361)
    at org.geotools.data.oracle.OracleFilterToSQL.doSDOFilter(OracleFilterToSQL.java:214)
    at org.geotools.data.oracle.OracleFilterToSQL.visitBinarySpatialOperator(OracleFilterToSQL.java:172)
    at org.geotools.jdbc.PreparedFilterToSQL.visitBinarySpatialOperator(PreparedFilterToSQL.java:253)
    at org.geotools.data.jdbc.FilterToSQL.visit(FilterToSQL.java:747)
    at org.geotools.filter.spatial.BBOXImpl.accept(BBOXImpl.java:202)
    at org.geotools.data.jdbc.FilterToSQL.encode(FilterToSQL.java:183)
    at org.geotools.data.jdbc.FilterToSQL.encodeToString(FilterToSQL.java:212)
    at org.geotools.jdbc.JDBCDataStore.selectSQLPS(JDBCDataStore.java:2474)
    at org.geotools.jdbc.JDBCFeatureSource.getReaderInternal(JDBCFeatureSource.java:514)
    ... 62 more

Well, it seems something is creating a spatial filter with an empty geometry, so the problem is mostly likely in some upper levels.
When you report issues please include also the requests you're making,
and if possible, a sample of the data and the eventual SLD needed to fully reproduce the bug. This allows to spend time fixing the bug instead of wasting time figuring out a way to reproduce it (something
I really don't have the time to do nowadays, too much stuff to handle
already).

Cheers
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.