Uploaded image for project: 'Ivy'
  1. Ivy
  2. IVY-1347

StackOverflowError when using <extends> with no location specified

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 2.3.0-RC1
    • 2.3.0-RC2
    • Core

    Description

      When using <extends> without specifying a location, we end up with a StackOverflowError. For example:

      ...
          <info organisation="foo" module="bar" revision="1.0" status="integration">
              <extends organisation="foo" module="parent" revision="1.0.0" />
          </info>
      ...
      
      [ivy:buildlist] :: Apache Ivy 2.3.0-rc1 - 20120416000235 :: http://ant.apache.org/ivy/ ::
      [ivy:buildlist] :: loading settings :: file = D:\foo\ivysettings.xml
      
      BUILD FAILED
      java.lang.StackOverflowError
              at java.net.URL.set(URL.java:683)
              at java.net.URLStreamHandler.setURL(URLStreamHandler.java:521)
              at java.net.URLStreamHandler.setURL(URLStreamHandler.java:571)
              at sun.net.www.protocol.jar.Handler.parseURL(Handler.java:76)
              at java.net.URL.<init>(URL.java:596)
              at java.net.URL.<init>(URL.java:464)
              at sun.misc.URLClassPath$JarLoader.checkResource(URLClassPath.java:674)
              at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:759)
              at sun.misc.URLClassPath$JarLoader.findResource(URLClassPath.java:735)
              at sun.misc.URLClassPath.findResource(URLClassPath.java:146)
              at java.net.URLClassLoader$2.run(URLClassLoader.java:385)
              at java.security.AccessController.doPrivileged(Native Method)
              at java.net.URLClassLoader.findResource(URLClassLoader.java:382)
              at java.lang.ClassLoader.getResource(ClassLoader.java:1003)
              at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:1193)
              at javax.xml.parsers.SecuritySupport$4.run(SecuritySupport.java:96)
              at java.security.AccessController.doPrivileged(Native Method)
              at javax.xml.parsers.SecuritySupport.getResourceAsStream(SecuritySupport.java:89)
              at javax.xml.parsers.FactoryFinder.findJarServiceProvider(FactoryFinder.java:250)
              at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:223)
              at javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:128)
              at org.apache.ivy.util.XMLHelper.newSAXParser(XMLHelper.java:57)
              at org.apache.ivy.util.XMLHelper.parse(XMLHelper.java:120)
              at org.apache.ivy.util.XMLHelper.parse(XMLHelper.java:96)
              at org.apache.ivy.util.XMLHelper.parse(XMLHelper.java:86)
              at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser$Parser.parse(XmlModuleDescriptorParser.java:276)
              at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser.parseDescriptor(XmlModuleDescriptorParser.java:116)
              at org.apache.ivy.plugins.resolver.RepositoryResolver.findResourceUsingPattern(RepositoryResolver.java:109)
              at org.apache.ivy.plugins.resolver.AbstractPatternsBasedResolver.findResourceUsingPatterns(AbstractPatternsBasedResolver.java:96)
              at org.apache.ivy.plugins.resolver.AbstractPatternsBasedResolver.findIvyFileRef(AbstractPatternsBasedResolver.java:66)
              at org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:228)
              at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser$Parser.resolveParentFromModuleInheritanceRepository(XmlModuleDescriptorParser.java:684)
              at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser$Parser.extendsStarted(XmlModuleDescriptorParser.java:438)
              at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser$Parser.startElement(XmlModuleDescriptorParser.java:327)
              at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
              at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
              at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
              at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
              at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(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 org.apache.ivy.util.XMLHelper.parse(XMLHelper.java:133)
              at org.apache.ivy.util.XMLHelper.parse(XMLHelper.java:96)
              at org.apache.ivy.util.XMLHelper.parse(XMLHelper.java:86)
              at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser$Parser.parse(XmlModuleDescriptorParser.java:276)
              at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser.parseDescriptor(XmlModuleDescriptorParser.java:116)
              at org.apache.ivy.plugins.resolver.RepositoryResolver.findResourceUsingPattern(RepositoryResolver.java:109)
              at org.apache.ivy.plugins.resolver.AbstractPatternsBasedResolver.findResourceUsingPatterns(AbstractPatternsBasedResolver.java:96)
              at org.apache.ivy.plugins.resolver.AbstractPatternsBasedResolver.findIvyFileRef(AbstractPatternsBasedResolver.java:66)
              at org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:228)
              at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser$Parser.resolveParentFromModuleInheritanceRepository(XmlModuleDescriptorParser.java:684)
              at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser$Parser.extendsStarted(XmlModuleDescriptorParser.java:438)
              at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser$Parser.startElement(XmlModuleDescriptorParser.java:327)
              at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
              at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
              at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
              at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
              at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(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 org.apache.ivy.util.XMLHelper.parse(XMLHelper.java:133)
              at org.apache.ivy.util.XMLHelper.parse(XMLHelper.java:96)
              at org.apache.ivy.util.XMLHelper.parse(XMLHelper.java:86)
              at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser$Parser.parse(XmlModuleDescriptorParser.java:276)
              at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser.parseDescriptor(XmlModuleDescriptorParser.java:116)
              at org.apache.ivy.plugins.resolver.RepositoryResolver.findResourceUsingPattern(RepositoryResolver.java:109)
              at org.apache.ivy.plugins.resolver.AbstractPatternsBasedResolver.findResourceUsingPatterns(AbstractPatternsBasedResolver.java:96)
              at org.apache.ivy.plugins.resolver.AbstractPatternsBasedResolver.findIvyFileRef(AbstractPatternsBasedResolver.java:66)
              at org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:228)
              at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser$Parser.resolveParentFromModuleInheritanceRepository(XmlModuleDescriptorParser.java:684)
      ...
      

      Attachments

        1. IVY-1347-1363-2.3.x.patch
          10 kB
          Mitch Gitman
        2. IVY-1347-1363-trunk.patch
          10 kB
          Mitch Gitman
        3. IVY-1347-1363.patch
          50 kB
          Mitch Gitman
        4. IVY-1347.zip
          4 kB
          Matt Hurne

        Activity

          People

            maartenc Maarten Coene
            mhurne Matt Hurne
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: