Uploaded image for project: 'Jetspeed 2 (Retired)'
  1. Jetspeed 2 (Retired)
  2. JS2-735

Jetty-6 ConcurrentModificationException on logout

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.1
    • 2.1.2
    • None
    • None
    • jetty-6.1.3 jetspeed-2.1

    Description

      I'm trying to deploy my jetspeed-2 based portal to jetty-6.
      My portal deploys successfully and working fine, but a get ConcurrentModificationException when i pressing logout link.

      Here is a stack trace:

      java.util.ConcurrentModificationException
      at java.util.HashMap$HashIterator.nextEntry(Unknown Source)
      at java.util.HashMap$KeyIterator.next(Unknown Source)
      at org.mortbay.jetty.servlet.AbstractSessionManager$Session.doInvalidate(AbstractSessionManager.java:921)
      at org.mortbay.jetty.servlet.AbstractSessionManager$Session.invalidate(AbstractSessionManager.java:902)
      at org.apache.jetspeed.login.LogoutServlet.doGet(LogoutServlet.java:38)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
      at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1098)
      at org.apache.jetspeed.engine.servlet.XXSUrlAttackFilter.doFilter(XXSUrlAttackFilter.java:51)
      at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
      at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
      at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
      at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
      at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
      at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
      at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211)
      at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
      at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
      at org.mortbay.jetty.Server.handle(Server.java:285)
      at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502)
      at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:821)
      at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
      at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:208)
      at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:378)
      at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:368)
      at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)

      I think this issue is a result of the recursive Session.invalidate() invocation by
      org.apache.jetspeed.container.session.PortalSessionMonitorImpl.invalidateSession()
      org.apache.jetspeed.container.session.PortalSessionsManagerImpl.portalSessionDestroyed(PortalSessionMonitor)
      org.mortbay.jetty.servlet.AbstractSessionManager.Session.unbindValue(String, Object)

      I mean that Session.invalidate() calls Session.unbindValue() which calls above-listed stack and PortalSessionMonitorImpl.invalidateSession() calls Session.invalidate() again.

      Steps how to deploy jetspeed to jetty

      1. Install jetty-6.1.3
      2. Download attached file jetspeed-jetty-deploy-files.zip from attachment
      3. Unzip this file to jetty.home
      4. Copy shared jetspeed libs to jetty.home/lib/
      5. Copy jetspeed webapp folder to jetty.home/webapps-jetspeed/
      6. Copy j2-admin.war to jetty.home/webapps-jetspeed/
      7 Open jetty.home/etc/jetty-jetspeed.xml and change c:/tmp/j2 to your path to derby database
      8. start jetty with command java -jar start.jar etc/jetty-jetspeed.xml
      9. Copy jetspeed-layouts to deploy/local folder of jetspeed
      10. Wait for layouts deployment.
      10. Restart jetty server (Stop it and start with java -jar start.jar etc/jetty-jetspeed.xml)

      Attachments

        1. jetspeed-jetty-deploy-files.zip
          4 kB
          Sergey Parilin

        Activity

          People

            ate Ate Douma
            nicht Sergey Parilin
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: