jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yasuo Nakajima (JIRA)" <j...@apache.org>
Subject [jira] [Created] (JCR-3746) Disposing a workspace causes a deadlock
Date Thu, 13 Mar 2014 04:23:42 GMT
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

View raw message