Yasuo Nakajima created JCR-3746:
-----------------------------------

             Summary: Disposing a workspace causes a deadlock
                 Key: JCR-3746
                 URL: https://issues.apache.org/jira/browse/JCR-3746
             Project: Jackrabbit Content Repository
          Issue Type: Bug
          Components: jackrabbit-core
    Affects Versions: 2.4.3
         Environment: Windows Server 2008 SP2
            Reporter: Yasuo Nakajima


An inappropriate use of ReentrantWriterPreferenceReadWriteLock can cause a 
deadlock in RepositoryImpl.WorkspaceInfo.dispose().
It tries to upgrade a read lock to write lock.
This causes a deadlock when other threads already have been acquired the read 
or write lock before the dispose thread acquires the write lock.  In this case, 
the dispose thread will wait for acquiring the write lock forever because it 
holds the read lock itself.
This problem is described in JCR-546 and ‘dispose’ is pointed out as a possible 
problem.
We encountered the deadlock in our environment.
The deadlock does not happen in default workspace because dispose is not 
applied for it.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to