You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@lenya.apache.org by Peter Shipley <ps...@nomensa.com> on 2004/07/13 22:04:53 UTC

Login throws ArrayIndexOutOfBoundsException

I have a pretty much stock 1.2 release yet it behaved differently in two 
locations. Bother servers are using Jetty.

On one server it all works fine. On the other When trying to login I get 
the stacktrace at the end of the email. I found something that maybe 
linked on the cocon wiki which seems to fit the exception:

http://wiki.apache.org/cocoon/FAQs

"5.2. How do I handle bad HTML content (with lots of unbalanced tags etc)?

This is discussed in HTMLGenerator.

=== I get ===java.lang.ArrayIndexOutOfBoundsException in 
org.xml.sax.helpers.AttributesImpl.removeAttribute(AttributesImpl.java:439) 
when using i18n transformer to translate attributes.

This is a known bug in Xerces (2.0) and it was fixed in latest versions. 
So, there are two ways of solving this problem:

     * upgrade to a newer version of Xerces if possible (this is the 
best solution)
     * hack i18n transformer and comment out the 'removeAttribute()' 
call from translateAttributes()

See more on I18NTransformer. "


As far as I know all tags are well formed yet it works on one machine 
and not the other. There should not be any external classpath problems 
with the jetty config and they should both use the same libraries as 
deployed by the lenya install.

If anyone has any ideas.....

The full stacktrace:

org.apache.cocoon.ProcessingException: Failed to execute pipeline.: 
javax.xml.transform.TransformerException: 
java.lang.ArrayIndexOutOfBoundsException
	at 
org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:588)
	at 
org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:196)
	at 
org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:525)
	at 
org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:155)
	at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:107)
	at 
org.apache.cocoon.components.treeprocessor.ContainerNode.invoke(ContainerNode.java:66)
	at 
org.apache.cocoon.components.treeprocessor.sitemap.CallNode.invoke(CallNode.java:128)
	at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:84)
	at 
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:165)
	at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:84)
	at 
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:165)
	at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:107)
	at 
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:162)
	at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:107)
	at 
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:136)
	at 
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:371)
	at 
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:312)
	at org.apache.cocoon.Cocoon.process(Cocoon.java:656)
	at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1112)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:354)
	at 
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
	at org.mortbay.http.HttpContext.handle(HttpContext.java:1808)
	at 
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
	at org.mortbay.http.HttpContext.handle(HttpContext.java:1758)
	at org.mortbay.http.HttpServer.service(HttpServer.java:879)
	at org.mortbay.http.HttpConnection.service(HttpConnection.java:790)
	at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:952)
	at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)
	at 
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:197)
	at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
	at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:501)
Caused by: javax.xml.transform.TransformerException: 
java.lang.ArrayIndexOutOfBoundsException
	at 
org.apache.xalan.xsltc.trax.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:268)
	at 
org.apache.cocoon.xml.AbstractXMLPipe.endDocument(AbstractXMLPipe.java:91)
	at 
org.apache.cocoon.transformation.TraxTransformer.endDocument(TraxTransformer.java:583)
	at 
org.apache.cocoon.www.lenya.content.ac.login_xsp.generate(org.apache.cocoon.www.lenya.content.ac.login_xsp:322)
	at 
org.apache.cocoon.generation.ServerPagesGenerator.generate(ServerPagesGenerator.java:263)
	at 
org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:581)
	... 32 more
javax.xml.transform.TransformerException: 
java.lang.ArrayIndexOutOfBoundsException
	at 
org.apache.xalan.xsltc.trax.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:268)
	at 
org.apache.cocoon.xml.AbstractXMLPipe.endDocument(AbstractXMLPipe.java:91)
	at 
org.apache.cocoon.transformation.TraxTransformer.endDocument(TraxTransformer.java:583)
	at 
org.apache.cocoon.www.lenya.content.ac.login_xsp.generate(org.apache.cocoon.www.lenya.content.ac.login_xsp:322)
	at 
org.apache.cocoon.generation.ServerPagesGenerator.generate(ServerPagesGenerator.java:263)
	at 
org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:581)
	at 
org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:196)
	at 
org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:525)
	at 
org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:155)
	at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:107)
	at 
org.apache.cocoon.components.treeprocessor.ContainerNode.invoke(ContainerNode.java:66)
	at 
org.apache.cocoon.components.treeprocessor.sitemap.CallNode.invoke(CallNode.java:128)
	at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:84)
	at 
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:165)
	at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:84)
	at 
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:165)
	at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:107)
	at 
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:162)
	at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:107)
	at 
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:136)
	at 
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:371)
	at 
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:312)
	at org.apache.cocoon.Cocoon.process(Cocoon.java:656)
	at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1112)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:354)
	at 
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
	at org.mortbay.http.HttpContext.handle(HttpContext.java:1808)
	at 
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
	at org.mortbay.http.HttpContext.handle(HttpContext.java:1758)
	at org.mortbay.http.HttpServer.service(HttpServer.java:879)
	at org.mortbay.http.HttpConnection.service(HttpConnection.java:790)
	at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:952)
	at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)
	at 
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:197)
	at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
	at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:501)




---------------------------------------------------------------------
To unsubscribe, e-mail: lenya-user-unsubscribe@cocoon.apache.org
For additional commands, e-mail: lenya-user-help@cocoon.apache.org


Re: Login throws ArrayIndexOutOfBoundsException

Posted by Peter Shipley <ps...@nomensa.com>.
Interestingly enough, if I copy the same webapp directory into Tomcat it 
seems to work fine!!

Peter Shipley wrote:

> I have a pretty much stock 1.2 release yet it behaved differently in two 
> locations. Bother servers are using Jetty.
> 
> On one server it all works fine. On the other When trying to login I get 
> the stacktrace at the end of the email. I found something that maybe 
> linked on the cocon wiki which seems to fit the exception:
> 
> http://wiki.apache.org/cocoon/FAQs
> 
> "5.2. How do I handle bad HTML content (with lots of unbalanced tags etc)?
> 
> This is discussed in HTMLGenerator.
> 
> === I get ===java.lang.ArrayIndexOutOfBoundsException in 
> org.xml.sax.helpers.AttributesImpl.removeAttribute(AttributesImpl.java:439) 
> when using i18n transformer to translate attributes.
> 
> This is a known bug in Xerces (2.0) and it was fixed in latest versions. 
> So, there are two ways of solving this problem:
> 
>     * upgrade to a newer version of Xerces if possible (this is the best 
> solution)
>     * hack i18n transformer and comment out the 'removeAttribute()' call 
> from translateAttributes()
> 
> See more on I18NTransformer. "
> 
> 
> As far as I know all tags are well formed yet it works on one machine 
> and not the other. There should not be any external classpath problems 
> with the jetty config and they should both use the same libraries as 
> deployed by the lenya install.
> 
> If anyone has any ideas.....
> 
> The full stacktrace:
> 
> org.apache.cocoon.ProcessingException: Failed to execute pipeline.: 
> javax.xml.transform.TransformerException: 
> java.lang.ArrayIndexOutOfBoundsException
>     at 
> org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:588) 
> 
>     at 
> org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:196) 
> 
>     at 
> org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:525) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:155) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:107) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.ContainerNode.invoke(ContainerNode.java:66) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.sitemap.CallNode.invoke(CallNode.java:128) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:84) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:165) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:84) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:165) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:107) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:162) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:107) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:136) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:371) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:312) 
> 
>     at org.apache.cocoon.Cocoon.process(Cocoon.java:656)
>     at 
> org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1112)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>     at 
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:354)
>     at 
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294) 
> 
>     at 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
>     at org.mortbay.http.HttpContext.handle(HttpContext.java:1808)
>     at 
> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525) 
> 
>     at org.mortbay.http.HttpContext.handle(HttpContext.java:1758)
>     at org.mortbay.http.HttpServer.service(HttpServer.java:879)
>     at org.mortbay.http.HttpConnection.service(HttpConnection.java:790)
>     at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:952)
>     at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)
>     at 
> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:197)
>     at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
>     at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:501)
> Caused by: javax.xml.transform.TransformerException: 
> java.lang.ArrayIndexOutOfBoundsException
>     at 
> org.apache.xalan.xsltc.trax.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:268) 
> 
>     at 
> org.apache.cocoon.xml.AbstractXMLPipe.endDocument(AbstractXMLPipe.java:91)
>     at 
> org.apache.cocoon.transformation.TraxTransformer.endDocument(TraxTransformer.java:583) 
> 
>     at 
> org.apache.cocoon.www.lenya.content.ac.login_xsp.generate(org.apache.cocoon.www.lenya.content.ac.login_xsp:322) 
> 
>     at 
> org.apache.cocoon.generation.ServerPagesGenerator.generate(ServerPagesGenerator.java:263) 
> 
>     at 
> org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:581) 
> 
>     ... 32 more
> javax.xml.transform.TransformerException: 
> java.lang.ArrayIndexOutOfBoundsException
>     at 
> org.apache.xalan.xsltc.trax.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:268) 
> 
>     at 
> org.apache.cocoon.xml.AbstractXMLPipe.endDocument(AbstractXMLPipe.java:91)
>     at 
> org.apache.cocoon.transformation.TraxTransformer.endDocument(TraxTransformer.java:583) 
> 
>     at 
> org.apache.cocoon.www.lenya.content.ac.login_xsp.generate(org.apache.cocoon.www.lenya.content.ac.login_xsp:322) 
> 
>     at 
> org.apache.cocoon.generation.ServerPagesGenerator.generate(ServerPagesGenerator.java:263) 
> 
>     at 
> org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:581) 
> 
>     at 
> org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:196) 
> 
>     at 
> org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:525) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:155) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:107) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.ContainerNode.invoke(ContainerNode.java:66) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.sitemap.CallNode.invoke(CallNode.java:128) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:84) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:165) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:84) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:165) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:107) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:162) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:107) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:136) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:371) 
> 
>     at 
> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:312) 
> 
>     at org.apache.cocoon.Cocoon.process(Cocoon.java:656)
>     at 
> org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1112)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>     at 
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:354)
>     at 
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294) 
> 
>     at 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
>     at org.mortbay.http.HttpContext.handle(HttpContext.java:1808)
>     at 
> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525) 
> 
>     at org.mortbay.http.HttpContext.handle(HttpContext.java:1758)
>     at org.mortbay.http.HttpServer.service(HttpServer.java:879)
>     at org.mortbay.http.HttpConnection.service(HttpConnection.java:790)
>     at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:952)
>     at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)
>     at 
> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:197)
>     at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
>     at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:501)
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: lenya-user-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: lenya-user-help@cocoon.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: lenya-user-unsubscribe@cocoon.apache.org
For additional commands, e-mail: lenya-user-help@cocoon.apache.org