Error ELEM_INFO STARTING_OFFSET when reading geometry collections from Oracle

Description

My GeoServer has started to throw up an error when I try and render one (or may more) of the layers. The exact numbers of the offset and length in the error vary.

I've attached the results of running the below query in a text file. The data itself doesn't seem bad - it passes FME validation and Oracle validation.

2013-07-23 08:38:54,603 DEBUG
2013-07-23 08:38:54,603 DEBUG - creating rules for scale denominator - 20,000
2013-07-23 08:38:54,603 DEBUG - Expanding rendering area by 2 pixels to consider stroke width
2013-07-23 08:38:54,603 DEBUG
2013-07-23 08:38:54,603 DEBUG - CREATE CONNECTION
2013-07-23 08:38:54,603 TRACE - ENTRY 4
2013-07-23 08:38:54,603 DEBUG - exporting PropertyName
2013-07-23 08:38:54,603 DEBUG - SELECT SDO_GEOMETRY as SDO_GEOMETRY FROM OSMM.OS_VMD_BUILDING WHERE SDO_FILTER(SDO_GEOMETRY, ?, 'mask=anyinteract querytype=WINDOW') = 'TRUE'
2013-07-23 08:38:54,618 DEBUG - Using layer SRID: 27700
2013-07-23 08:38:54,618 DEBUG - Setting parameter 1 as MDSYS.SDO_GEOMETRY(2003,27700,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),MDSYS.SDO_ORDINATE_ARRAY(458740.8,258036.79999999996,464497.6,263793.6))
2013-07-23 08:38:54,618 DEBUG - 1 = POLYGON ((458740.8 258036.79999999996, 458740.8 263793.6, 464497.6 263793.6, 464497.6 258036.79999999996, 458740.8 258036.79999999996))
2013-07-23 08:38:54,665 ERROR - ELEM_INFO STARTING_OFFSET 393 inconsistent with ORDINATES length 197
java.lang.IllegalArgumentException: ELEM_INFO STARTING_OFFSET 393 inconsistent with ORDINATES length 197
at org.geotools.data.oracle.sdo.SDO.createPoint(SDO.java:2463)
at org.geotools.data.oracle.sdo.SDO.createCollection(SDO.java:3000)
at org.geotools.data.oracle.sdo.SDO.create(SDO.java:2429)
at org.geotools.data.oracle.sdo.SDO.create(SDO.java:2383)
at org.geotools.data.oracle.sdo.GeometryConverter.asGeometry(GeometryConverter.java:125)
at org.geotools.data.oracle.OracleDialect.readGeometry(OracleDialect.java:506)
at org.geotools.data.oracle.OracleDialect.readGeometry(OracleDialect.java:492)
at org.geotools.data.oracle.OracleDialect.decodeGeometryValue(OracleDialect.java:455)
at org.geotools.jdbc.JDBCFeatureReader.next(JDBCFeatureReader.java:310)
at org.geotools.jdbc.JDBCFeatureReader.next(JDBCFeatureReader.java:70)
at org.geotools.data.store.ContentFeatureCollection$WrappingFeatureIterator.next(ContentFeatureCollection.java:145)
at org.geotools.data.store.ContentFeatureCollection$WrappingFeatureIterator.next(ContentFeatureCollection.java:125)
at org.geotools.feature.collection.BridgeIterator.next(BridgeIterator.java:31)
at org.geotools.feature.collection.BridgeIterator.next(BridgeIterator.java:18)
at org.geotools.renderer.lite.StreamingRenderer.drawPlain(StreamingRenderer.java:2494)
at org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:2045)
at org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:829)
at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:491)
at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:255)
at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:127)
at org.geoserver.wms.GetMap.executeInternal(GetMap.java:466)
at org.geoserver.wms.GetMap.run(GetMap.java:201)
at org.geoserver.wms.GetMap.run(GetMap.java:111)
at org.geoserver.wms.DefaultWebMapService.getMap(DefaultWebMapService.java:356)
at sun.reflect.GeneratedMethodAccessor250.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWebMapService.java:61)
at org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWebMapService.java:35)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService.java:73)
at org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService.java:54)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.geoserver.ows.util.RequestObjectLogger.invoke(RequestObjectLogger.java:54)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at com.sun.proxy.$Proxy24.getMap(Unknown Source)
at sun.reflect.GeneratedMethodAccessor260.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.geoserver.ows.Dispatcher.execute(Dispatcher.java:774)
at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:272)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.geoserver.gwc.GWC.dispatchOwsRequest(GWC.java:1122)
at org.geoserver.gwc.layer.GeoServerTileLayer.dispatchGetMap(GeoServerTileLayer.java:552)
at org.geoserver.gwc.layer.GeoServerTileLayer.getMetatilingReponse(GeoServerTileLayer.java:497)
at org.geoserver.gwc.layer.GeoServerTileLayer.seedTile(GeoServerTileLayer.java:691)
at org.geowebcache.seed.SeedTask.doActionInternal(SeedTask.java:136)
at org.geowebcache.seed.GWCTask.doAction(GWCTask.java:76)
at org.geowebcache.seed.MTSeeder.call(MTSeeder.java:36)
at org.geowebcache.seed.MTSeeder.call(MTSeeder.java:25)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Environment

None

Status

Assignee

Unassigned

Reporter

codehaus

Triage

None

Fix versions

Affects versions

2.3.3

Components

Priority

Medium
Configure