java.lang.StackOverflowError when parsing capabilities extended with ISO 19139 -------------------------------------------------------------------------------
Key: GEOT-3239 URL: http://jira.codehaus.org/browse/GEOT-3239 Project: GeoTools Issue Type: Bug Components: core xml Affects Versions: 2.7-M2 Environment: Java 1.5 Reporter: Angelo Quaglia Priority: Blocker Fix For: 2.7-M2 Attachments: INSPIREVS.xsd, WMSServer.xml GeoTools appears to stumble upon the circular inclusion between ../gmd/referenceSystem.xsd and ../gmd/citation.xsd In SchemaHandler.java the method compress( URI thisURI ) is being invoked until a java.lang.StackOverflowError happens. We are testing the inclusion of INSPIRE ISO 19139 metadata into WMS 1.3 capabilities I have included the sample schema and the sample capabilities. Please note that the sample capabilities file is validated by Altova XMLSpy This problem is a show stopper for us and we (JRC) are already working to replace GeoTools with a home made solution. Testcase: testParse(eu.inspire.geoportal.viewclient.cache.engine.CacheParserTest): Caused an ERROR null java.lang.StackOverflowError at java.util.Hashtable.get(Hashtable.java:334) at java.util.Properties.getProperty(Properties.java:932) at java.util.Properties.getProperty(Properties.java:951) at java.lang.System.getProperty(System.java:689) at sun.net.NetProperties.get(NetProperties.java:75) at sun.net.spi.DefaultProxySelector$3.run(DefaultProxySelector.java:218) at java.security.AccessController.doPrivileged(Native Method) at sun.net.spi.DefaultProxySelector.select(DefaultProxySelector.java:201) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:796) at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:726) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1049) at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source) at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source) at javax.xml.parsers.SAXParser.parse(SAXParser.java:277) at org.geotools.xml.SchemaFactory.getRealInstance(SchemaFactory.java:278) at org.geotools.xml.SchemaFactory.getInstance(SchemaFactory.java:264) at org.geotools.xml.handlers.xsi.SchemaHandler.compress(SchemaHandler.java:384) at org.geotools.xml.handlers.xsi.RootHandler.getSchema(RootHandler.java:116) at org.geotools.xml.XSISAXHandler.getSchema(XSISAXHandler.java:256) at org.geotools.xml.SchemaFactory.getRealInstance(SchemaFactory.java:284) at org.geotools.xml.SchemaFactory.getInstance(SchemaFactory.java:264) at org.geotools.xml.handlers.xsi.SchemaHandler.compress(SchemaHandler.java:384) at org.geotools.xml.handlers.xsi.RootHandler.getSchema(RootHandler.java:116) at org.geotools.xml.XSISAXHandler.getSchema(XSISAXHandler.java:256) at org.geotools.xml.SchemaFactory.getRealInstance(SchemaFactory.java:284) at org.geotools.xml.SchemaFactory.getInstance(SchemaFactory.java:264) at org.geotools.xml.handlers.xsi.SchemaHandler.compress(SchemaHandler.java:384) at org.geotools.xml.handlers.xsi.RootHandler.getSchema(RootHandler.java:116) at org.geotools.xml.XSISAXHandler.getSchema(XSISAXHandler.java:256) at org.geotools.xml.SchemaFactory.getRealInstance(SchemaFactory.java:284) at org.geotools.xml.SchemaFactory.getInstance(SchemaFactory.java:264) at org.geotools.xml.handlers.xsi.SchemaHandler.compress(SchemaHandler.java:384) at org.geotools.xml.handlers.xsi.RootHandler.getSchema(RootHandler.java:116) at org.geotools.xml.XSISAXHandler.getSchema(XSISAXHandler.java:256) at org.geotools.xml.SchemaFactory.getRealInstance(SchemaFactory.java:284) at org.geotools.xml.SchemaFactory.getInstance(SchemaFactory.java:264) at org.geotools.xml.handlers.xsi.SchemaHandler.compress(SchemaHandler.java:384) at org.geotools.xml.handlers.xsi.RootHandler.getSchema(RootHandler.java:116) at org.geotools.xml.XSISAXHandler.getSchema(XSISAXHandler.java:256) at org.geotools.xml.SchemaFactory.getRealInstance(SchemaFactory.java:284) at org.geotools.xml.SchemaFactory.getInstance(SchemaFactory.java:264) at org.geotools.xml.handlers.xsi.SchemaHandler.compress(SchemaHandler.java:384) at org.geotools.xml.handlers.xsi.RootHandler.getSchema(RootHandler.java:116) at org.geotools.xml.XSISAXHandler.getSchema(XSISAXHandler.java:256) at org.geotools.xml.SchemaFactory.getRealInstance(SchemaFactory.java:284) at org.geotools.xml.SchemaFactory.getInstance(SchemaFactory.java:264) at org.geotools.xml.handlers.xsi.SchemaHandler.compress(SchemaHandler.java:384) ... -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev _______________________________________________ Geotools-devel mailing list Geotools-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-devel