geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Jencks (JIRA)" <...@geronimo.apache.org>
Subject [jira] Commented: (GERONIMO-2305) geronimo.kernel.classloader.JarFileUrlStreamHandler fails with Trinidad
Date Thu, 10 Aug 2006 01:12:14 GMT
    [ http://issues.apache.org/jira/browse/GERONIMO-2305?page=comments#action_12427069 ] 
            
David Jencks commented on GERONIMO-2305:
----------------------------------------

I think this is caused by someone calling

new URL(url, string)

where url is created using our JarFileUrlStreamHandler and thus has the original url including
the jarEntry stored inside.

This constructor reuses the UrlStreamHandler from the source url.... which with our check
of expectedUrl doesn't work.

Can we notice that the expectedUrl is in the same jar file and figure out the correct jarEntry
for the supplied url?

> geronimo.kernel.classloader.JarFileUrlStreamHandler fails with Trinidad
> -----------------------------------------------------------------------
>
>                 Key: GERONIMO-2305
>                 URL: http://issues.apache.org/jira/browse/GERONIMO-2305
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: kernel
>    Affects Versions: 1.1
>         Environment: Geronimo-jetty-1.1 running in Java 1.5.0_06 on Mac OS X or Java
1.5.0_06 on XP
> Aug. 6 Trinidad snapshot - http://people.apache.org/maven-snapshot-repository/org/apache/myfaces/trinidad/
>            Reporter: Chris Herborth
>            Priority: Blocker
>         Attachments: devSignup.war, devSignup.war
>
>
> 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:
> {quote}
> 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.
> {quote}
> Will include sample WAR (which installs at /devSignup on the server) if I can figure
out how to do that.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message