Uploaded image for project: 'Geronimo'
  1. Geronimo
  2. GERONIMO-2305

geronimo.kernel.classloader.JarFileUrlStreamHandler fails with Trinidad

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 1.1
    • 1.1.1, 1.1.2, 1.2
    • kernel
    • Security Level: public (Regular issues)
    • None

    Description

      Web application (built with current MyFaces and Trinidad) crashes during page loading with this stack trace:

      7-Aug-2006 10:40:40 AM org.apache.myfaces.adfinternal.agent.CapabilitiesProvider getCapabilities
      SEVERE: could not get capabilities from capabilities document
      java.lang.IllegalArgumentException: Expected url [jar:file:/C:/Documents and Settings/chrish/Desktop/geronimo-1.1/repository/default/devsignup/1154961598406/devsignup-1154961598406.war/WEB-INF/lib/adf-faces-impl-incubator-m1-SNAPSHOT.jar!/META-INF/agent/capabilities.xml], but was [jar:file:/C:/Documents and Settings/chrish/Desktop/geronimo-1.1/repository/default/devsignup/1154961598406/devsignup-1154961598406.war/WEB-INF/lib/adf-faces-impl-incubator-m1-SNAPSHOT.jar!/META-INF/agent/htmlBasic.xml]
      at org.apache.geronimo.kernel.classloader.JarFileUrlStreamHandler.openConnection(JarFileUrlStreamHandler.java:63)
      at java.net.URL.openConnection(Unknown Source)
      at org.apache.myfaces.adfinternal.agent.parse.CapabilityDataDocumentParser.parse(CapabilityDataDocumentParser.java:60)
      at org.apache.myfaces.adfinternal.agent.parse.CapabilitiesDocument._getCapabilities(CapabilitiesDocument.java:315)
      at org.apache.myfaces.adfinternal.agent.parse.CapabilitiesDocument._getCapabilities(CapabilitiesDocument.java:226)
      at org.apache.myfaces.adfinternal.agent.parse.CapabilitiesDocument._getCapabilities(CapabilitiesDocument.java:293)
      at org.apache.myfaces.adfinternal.agent.parse.CapabilitiesDocument._getCapabilities(CapabilitiesDocument.java:212)
      at org.apache.myfaces.adfinternal.agent.parse.CapabilitiesDocument._getDefaultAgentCapabilities(CapabilitiesDocument.java:117)
      at org.apache.myfaces.adfinternal.agent.parse.CapabilitiesDocument.<init>(CapabilitiesDocument.java:38)
      at org.apache.myfaces.adfinternal.agent.parse.CapabilitiesDocumentParser.endElement(CapabilitiesDocumentParser.java:184)
      at org.apache.myfaces.adfinternal.share.xml.TreeBuilder$Handler.endElement(TreeBuilder.java:463)
      at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
      at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(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.myfaces.adfinternal.share.xml.TreeBuilder.parse(TreeBuilder.java:166)
      at org.apache.myfaces.adfinternal.agent.parse.CapabilitiesDocumentParser.createInstance(CapabilitiesDocumentParser.java:67)
      at org.apache.myfaces.adfinternal.agent.CapabilitiesProvider._getCapabilityDocument(CapabilitiesProvider.java:128)
      at org.apache.myfaces.adfinternal.agent.CapabilitiesProvider._getCapabilities(CapabilitiesProvider.java:110)
      at org.apache.myfaces.adfinternal.agent.CapabilitiesProvider.getCapabilities(CapabilitiesProvider.java:91)
      at org.apache.myfaces.adfinternal.agent.AdfFacesAgentImpl._getCapabilityMap(AdfFacesAgentImpl.java:263)
      at org.apache.myfaces.adfinternal.agent.AdfFacesAgentImpl._initialize(AdfFacesAgentImpl.java:233)
      at org.apache.myfaces.adfinternal.agent.AdfFacesAgentImpl.<init>(AdfFacesAgentImpl.java:40)
      at org.apache.myfaces.adfinternal.context.AdfFacesContextImpl.getAgent(AdfFacesContextImpl.java:533)
      at org.apache.myfaces.adfinternal.renderkit.core.CoreRenderKit.chooseRenderKit(CoreRenderKit.java:144)
      at org.apache.myfaces.adfinternal.renderkit.CoreRenderKitFactory.getRenderKit(CoreRenderKitFactory.java:50)
      at org.apache.myfaces.context.servlet.ServletFacesContextImpl.getRenderKit(ServletFacesContextImpl.java:184)
      at org.apache.myfaces.adfinternal.context.FacesContextFactoryImpl$CacheRenderKit.getRenderKit(FacesContextFactoryImpl.java:103)
      at org.apache.myfaces.adfinternal.application.ViewHandlerImpl._getExtendedRenderKitService(ViewHandlerImpl.java:330)
      at org.apache.myfaces.adfinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:154)
      at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
      at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
      at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
      at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
      at org.apache.myfaces.adfinternal.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:320)
      at org.apache.myfaces.adfinternal.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:289)
      at org.apache.myfaces.adfinternal.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:213)
      at org.apache.myfaces.adf.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:90)
      at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
      at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
      at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
      at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
      at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
      at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
      at org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
      at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
      at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
      at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
      at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
      at org.mortbay.http.HttpServer.service(HttpServer.java:909)
      at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
      at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
      at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
      at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
      at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
      at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

      Trinidad developers say:

      Looking at the source code for JarFileUrlStreamHandler over
      in the geronimo codebase, it looks as though they've got a pretty
      bad bug: their handler is not reentrant (you can't parse one file out
      of a JAR while in the middle of parsing another). This is 100% legit
      code on our part (and it'd be a major pain to overhaul our code
      not to do it). I think you'll need to file a bug against Jetty or Geronimo.

      Will include sample WAR (which installs at /devSignup on the server) if I can figure out how to do that.

      Attachments

        1. devSignup.war
          6.41 MB
          Chris Herborth
        2. devSignup.war
          6.41 MB
          Chris Herborth
        3. GERONIMO-2305.patch
          11 kB
          Dain Sundstrom

        Issue Links

          Activity

            People

              djencks David Jencks
              taffer Chris Herborth
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: