Uploaded image for project: 'Jackrabbit Content Repository'
  1. Jackrabbit Content Repository
  2. JCR-3246

UserManagerImpl attempts to close session twice on shutdown

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Reopened
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 2.4
    • Fix Version/s: None
    • Component/s: security
    • Labels:
      None

      Description

      On shutdown sessions are being closed twice which lead to the exception being logged as shown below. As far as I can tell RepositoryImpl has system sessions in the list of active sessions which is why it tries to close them twice - first time when closing all active sessions (RepositoryImpl.java:1078) and second time when disposing workspace (RepositoryImpl.java:1090).

      2012-02-28 10:36:00,614 WARN  org.apache.jackrabbit.core.session.SessionState   : Attempt to close session-31 after it has already been closed. Please review your code for proper session management.
      java.lang.Exception: Stack trace of the duplicate attempt to close session-31
      	at org.apache.jackrabbit.core.session.SessionState.close(SessionState.java:280)
      	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:943)
      	at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:392)
      	at org.apache.jackrabbit.core.security.user.UserManagerImpl.loggedOut(UserManagerImpl.java:1115)
      	at org.apache.jackrabbit.core.SessionImpl.notifyLoggedOut(SessionImpl.java:565)
      	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:979)
      	at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doDispose(RepositoryImpl.java:2200)
      	at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.dispose(RepositoryImpl.java:2154)
      	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1090)
      	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1041)
      	at org.apache.jackrabbit.core.jndi.BindableRepository.shutdown(BindableRepository.java:259)
      	at org.apache.jackrabbit.core.jndi.RegistryHelper.unregisterRepository(RegistryHelper.java:94)
             ...
      2012-02-28 10:36:00,617 WARN  org.apache.jackrabbit.core.session.SessionState   : session-31 has already been closed. See the attached exception for a trace of where this session was closed.
      java.lang.Exception: Stack trace of  where session-31 was originally closed
      	at org.apache.jackrabbit.core.session.SessionState.close(SessionState.java:275)
      	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:943)
      	at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:392)
      	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1078)
      	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1041)
      	at org.apache.jackrabbit.core.jndi.BindableRepository.shutdown(BindableRepository.java:259)
      	at org.apache.jackrabbit.core.jndi.RegistryHelper.unregisterRepository(RegistryHelper.java:94)
             ...
      
      

        Attachments

        1. JCR-3246.patch
          0.9 kB
          Stefan Guggisberg

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              rah003 Jan Haderka
            • Votes:
              5 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated: