You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Leonardo Uribe (Resolved) (JIRA)" <de...@myfaces.apache.org> on 2012/01/27 22:23:09 UTC

[jira] [Resolved] (MYFACES-3429) ArrayIndexOutOfBoundsException in CompositeELResolver under load

     [ https://issues.apache.org/jira/browse/MYFACES-3429?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Leonardo Uribe resolved MYFACES-3429.
-------------------------------------

       Resolution: Fixed
    Fix Version/s: 2.1.6
                   2.0.12
                   1.2.12
         Assignee: Leonardo Uribe

A double checked locking with volatile was added in that place to ensure only one thread initialize the resolver. Thanks for the report.
                
> ArrayIndexOutOfBoundsException in CompositeELResolver under load
> ----------------------------------------------------------------
>
>                 Key: MYFACES-3429
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3429
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 1.2.10
>         Environment: Tomcat 6.0.32, Tomhawk 1.1.10, RichfFaces 3.3.3, Facelets 1.1.15
>            Reporter: Michael Heinen
>            Assignee: Leonardo Uribe
>             Fix For: 1.2.12, 2.0.12, 2.1.6
>
>
> I found following exception in the logfile of an automated test. It happened right after system start when about 10 requests arrived in the same millisecond.
> http-8080-7 [ERROR] [D32BD7B2195DF1AAE182A4D24DBE11FF] PhaseListenerManager
> informPhaseListenersBefore: Exception in PhaseListener RESTORE_VIEW(1)
> beforePhase.
> java.lang.ArrayIndexOutOfBoundsException: 6
>     at javax.el.CompositeELResolver.add(CompositeELResolver.java:45)
>     at
> org.apache.myfaces.el.CompositeELResolver.add(CompositeELResolver.java:50)
>     at
> org.apache.myfaces.el.unified.ResolverBuilderForJSP.build(ResolverBuilderForJSP.java:62)
>     at
> org.apache.myfaces.el.ResolverForJSPInitializer.beforePhase(ResolverForJSPInitializer.java:54)
>     at
> org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersBefore(PhaseListenerManager.java:73)
>     at
> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:93)
>     at
> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
>     at
> org.apache.myfaces.custom.ppr.PPRLifecycleWrapper.execute(PPRLifecycleWrapper.java:68)
>     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:183)
>     at xxx.servlets.FacesServletWrapper.service(FacesServletWrapper.java:119)
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>     at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
>     at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
>     at
> org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
>     at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>     at
> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:392)
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>     at xxx.filters.LoginFilter.doFilter(LoginFilter.java:211)
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>     at xxx.filters.CacheFilter.doFilter(CacheFilter.java:104)
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>     at xxx.filters.EncodingFilter.doFilter(EncodingFilter.java:54)
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>     at xxx.filters.TimerFilter.doFilter(TimerFilter.java:80)
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>     at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>     at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>     at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
>     at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>     at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>     at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>     at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>     at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
>     at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
>     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>     at java.lang.Thread.run(Thread.java:662)
> I created this bug first in the Tomcat issue tracker: https://issues.apache.org/bugzilla/show_bug.cgi?id=52271
> It has been closed as invalid with following statement :"It sounds as if MyFaces is trying to configure the same CompositeELResolver instance from multiple
> threads."

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira