[
https://issues.apache.org/jira/browse/JCR-3746?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yasuo Nakajima updated JCR-3746:
--------------------------------
Environment: Windows Server 2008 R2 (was: Windows Server 2008 SP2)
> 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 R2
> 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)