[jboss-user] [JBoss Seam] - Session scope causes ArrayIndexOutOfBoundsException

sysex do-not-reply at jboss.com
Tue Aug 7 18:19:20 EDT 2007


Looks like a bug. I'm not a contributor or anything. Should this be added to JIRA?

This error came up when I first viewed my home page (containing a bean using the @Scope(ScopeType.SESSION) annotation) using Firefox, then switched to a new session with Konqueror hitting the same page.


12:47:17,285 INFO  [Contexts] starting up: org.jboss.seam.security.identity
12:47:17,287 INFO  [Contexts] starting up: org.jboss.seam.web.session
12:47:17,300 ERROR [[/]] Session event listener threw exception
java.lang.ArrayIndexOutOfBoundsException: 149
        at org.jboss.seam.contexts.BasicContext.getNames(BasicContext.java:60)
        at org.jboss.seam.contexts.Contexts.startup(Contexts.java:270)
        at org.jboss.seam.contexts.Lifecycle.beginSession(Lifecycle.java:187)
        at org.jboss.seam.contexts.ServletLifecycle.beginSession(ServletLifecycle.java:127)
        at org.jboss.seam.servlet.SeamListener.sessionCreated(SeamListener.java:44)
        at org.apache.catalina.session.StandardSession.tellNew(StandardSession.java:397)
        at org.apache.catalina.session.StandardSession.setId(StandardSession.java:369)
        at org.apache.catalina.session.ManagerBase.createSession(ManagerBase.java:827)
        at org.apache.catalina.session.StandardManager.createSession(StandardManager.java:291)
        at org.apache.catalina.connector.Request.doGetSession(Request.java:2295)
        at org.apache.catalina.connector.Request.getSession(Request.java:2066)
        at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:833)
        at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:216)
        at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:545)
        at com.sun.faces.context.SessionMap.getSession(ExternalContextImpl.java:1002)
        at com.sun.faces.context.SessionMap.get(ExternalContextImpl.java:962)
        at org.jboss.seam.contexts.BasicContext.get(BasicContext.java:48)
        at org.jboss.seam.Component.getInstance(Component.java:1734)
        at org.jboss.seam.Component.getInstance(Component.java:1712)
        at org.jboss.seam.web.Session.getInstance(Session.java:122)
        at org.jboss.seam.contexts.FacesLifecycle.beginRequest(FacesLifecycle.java:53)
        at org.jboss.seam.jsf.SeamPhaseListener.beforeRestoreView(SeamPhaseListener.java:361)
        at org.jboss.seam.jsf.SeamPhaseListener.beforeServletPhase(SeamPhaseListener.java:139)
        at org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:116)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:222)
        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.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
        at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:424)
        at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:343)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:144)
        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)


----------------------------------------------------------

The code says:

   public String[] getNames()

   {

      //yes, I know about the toArray() method,

      //but there is a bug in the RI!

      Set keySet = map.keySet();

      String[] array = new String[ keySet.size() ];

      int i=0;

      for (String key: keySet)

      {

         array[i++] = key;

      }

      return array;

   }

-------------------------------

Guess this bug in RI is causing a bug in Seam. 


By the way, this didn't seem to cause any problems in rendering the page.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4071773#4071773

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4071773



More information about the jboss-user mailing list