5 Replies Latest reply on Oct 27, 2007 7:04 PM by ebu

    java.lang.ArrayStoreException: org.apache.commons.collection

      Hi All

      This appears to be reapet issue of
      [#JBSEAM-1158] org.apache.commons.collections.UnboundedFifoBuffer ...
      Which is marked as closed.

      Wondered whether it was a new library dependency issue from the maven work between richfaces and seam use of commons-beanutils and commons-collections.

      New download from cvs at 9 a.m GMT.
      new seam project create a "new-entity", deploy it, then using the generated page try to create a new instance of the entity. When I press save the following stack trace occurs:

      
      java.lang.ArrayStoreException: org.apache.commons.collections.UnboundedFifoBuffer
       at org.ajax4jsf.component.AjaxViewRoot.clearEvents(AjaxViewRoot.java:251)
       at org.ajax4jsf.component.AjaxViewRoot.getEvents(AjaxViewRoot.java:231)
       at org.ajax4jsf.component.AjaxViewRoot.getEventsQueue(AjaxViewRoot.java:223)
       at org.ajax4jsf.component.AjaxViewRoot.queueEvent(AjaxViewRoot.java:140)
       at javax.faces.component.UIComponentBase.queueEvent(UIComponentBase.java:974)
       at javax.faces.component.UIComponentBase.queueEvent(UIComponentBase.java:974)
       at javax.faces.component.UICommand.queueEvent(UICommand.java:405)
       at com.sun.faces.renderkit.html_basic.ButtonRenderer.decode(ButtonRenderer.java:104)
       at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:764)
       at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1006)
       at javax.faces.component.UIForm.processDecodes(UIForm.java:203)
       at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1001)
       at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:493)
       at org.ajax4jsf.component.AjaxViewRoot.access$001(AjaxViewRoot.java:59)
       at org.ajax4jsf.component.AjaxViewRoot$1.invokeRoot(AjaxViewRoot.java:262)
       at org.ajax4jsf.context.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOneOneInvoker.java:56)
       at org.ajax4jsf.context.AjaxContextImpl.invokeOnRegionOrRoot(AjaxContextImpl.java:173)
       at org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:278)
       at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:101)
       at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
       at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
       at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
       at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
       at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
       at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
       at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
       at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
       at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
       at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
       at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:150)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
       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:230)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
       at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
       at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
       at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
       at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
       at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
       at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
       at java.lang.Thread.run(Thread.java:619)
      09:54:16,091 WARN [lifecycle] executePhase(APPLY_REQUEST_VALUES 2,com.sun.faces.context.FacesContextImpl@365dc0) threw exception
      javax.faces.FacesException: org.apache.commons.collections.UnboundedFifoBuffer
       at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:109)
       at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
       at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
       at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
       at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
       at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
       at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
       at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
       at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
       at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
       at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
       at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:150)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
       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:230)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
       at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
       at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
       at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
       at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
       at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
       at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
       at java.lang.Thread.run(Thread.java:619)
      Caused by: java.lang.ArrayStoreException: org.apache.commons.collections.UnboundedFifoBuffer
       at org.ajax4jsf.component.AjaxViewRoot.clearEvents(AjaxViewRoot.java:251)
       at org.ajax4jsf.component.AjaxViewRoot.getEvents(AjaxViewRoot.java:231)
       at org.ajax4jsf.component.AjaxViewRoot.getEventsQueue(AjaxViewRoot.java:223)
       at org.ajax4jsf.component.AjaxViewRoot.queueEvent(AjaxViewRoot.java:140)
       at javax.faces.component.UIComponentBase.queueEvent(UIComponentBase.java:974)
       at javax.faces.component.UIComponentBase.queueEvent(UIComponentBase.java:974)
       at javax.faces.component.UICommand.queueEvent(UICommand.java:405)
       at com.sun.faces.renderkit.html_basic.ButtonRenderer.decode(ButtonRenderer.java:104)
       at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:764)
       at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1006)
       at javax.faces.component.UIForm.processDecodes(UIForm.java:203)
       at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1001)
       at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:493)
       at org.ajax4jsf.component.AjaxViewRoot.access$001(AjaxViewRoot.java:59)
       at org.ajax4jsf.component.AjaxViewRoot$1.invokeRoot(AjaxViewRoot.java:262)
       at org.ajax4jsf.context.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOneOneInvoker.java:56)
       at org.ajax4jsf.context.AjaxContextImpl.invokeOnRegionOrRoot(AjaxContextImpl.java:173)
       at org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:278)
       at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:101)
       ... 40 more
      09:54:16,118 ERROR [ExceptionFilter] handling uncaught exception
      javax.servlet.ServletException: org.apache.commons.collections.UnboundedFifoBuffer
       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
       at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
       at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
       at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
       at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
       at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
       at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
       at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
       at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
       at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:150)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
       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:230)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
       at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
       at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
       at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
       at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
       at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
       at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
       at java.lang.Thread.run(Thread.java:619)
      


        • 1. Re: java.lang.ArrayStoreException: org.apache.commons.collec

          It also looks like Hibernate-all being moved out of lib and placed into lib.test has resulted in the autogenerated entities have a compile error because it cannot find hibernate validators.

          Perhaps there should be a test suite on seam that generates a seam gen project and puts it through some simple tests (i.e. compile, enter new entity, delete entity, edit entity,list entities)?

          Thanks,

          James

          • 2. Re: java.lang.ArrayStoreException: org.apache.commons.collec
            pmuir

            Are you sure you are using RichFaces 3.1.1-CR1 to get that ArrayStoreException? I just followed through the steps you outlined and it worked fine. I'm keen to track down if this is a problem as we believe we removed the bad code, but there could still be problems.

            How can I reproduce your compile errors? (hibernate-validator.jar is in the eclipse classpath and the ant classpath of the generated project).

            Unfortunately automating the kind of test you describe is difficult.

            • 3. Re: java.lang.ArrayStoreException: org.apache.commons.collec

              Hi Pete

              Just did a clean and compile on seam (after doing a CVS update). (It did not go and fetch the libraries though).

              Setup a completley new project Dashboard1 using seam setup, then seam new-project.

              I then do seam new-entity for an entity called User.

              then run seam explode.

              I get two compile time errors due to @Valid (hibernate validator).
              I fix this by copying hibernate all from dashboard1/lib/test to dashboard1/lib.

              Run seam explode again, this time it works.

              Goto http://localhost:8080/Dashboard1/user.seam, write in a name and click save.

              I then get the above error.

              I have placed a zip of the exploded archive at
              www.millwood.uk.com/Dashboard1.zip

              The funny thing is that there are two versions of richfaces is rachfaces-ui (or api or impl).jar and then richfaces-ui-3.1.1-2070924-10402-11.jar and similar for the other two. They show up in the relevant places in Dashboard1.ear/lib and Dashboard1.ear/Dashboard1.war/WEB-INF/lib.

              • 4. Re: java.lang.ArrayStoreException: org.apache.commons.collec
                pmuir

                So you've most certainly stale stuff lying around. Do ant clean build on your Seam sources, and create a new project from scratch using seam-gen and see if you still have Richfaces problems (or delete the snapshot richfaces jars - 3.1.1-blah).

                Please post the compile time errors.

                • 5. Re: java.lang.ArrayStoreException: org.apache.commons.collec
                  ebu

                  hi.
                  Got same exception after upgrading trinidad to 1.2.2 (for popup panel), cured by upgrading ajax4jsf to 1.1.2-SNAPSHOT. no richfaces at all.

                  wbr, eugene.