You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Marcel Reutegger (JIRA)" <ji...@apache.org> on 2007/05/04 10:22:15 UTC
[jira] Updated: (JCR-862) unsynchronized access on 'itemCache' map
in ItemManager
[ https://issues.apache.org/jira/browse/JCR-862?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marcel Reutegger updated JCR-862:
---------------------------------
Attachment: stacktrace.txt
The deadlock can be reproduced by running ConcurrentReadWriteTest.
The reading session must not lock the ItemManager while it retrieves an ItemState.
> unsynchronized access on 'itemCache' map in ItemManager
> --------------------------------------------------------
>
> Key: JCR-862
> URL: https://issues.apache.org/jira/browse/JCR-862
> Project: Jackrabbit
> Issue Type: Bug
> Components: core
> Affects Versions: 1.2.3
> Reporter: Tobias Bocanegra
> Assigned To: Stefan Guggisberg
> Fix For: 1.4
>
> Attachments: stacktrace.txt
>
>
> the access 'itemCache' map in ItemManager is mostly synchronized by not via the ItemStateListener methods:
> [...]
> public void stateCreated(ItemState created) {
> ItemImpl item = retrieveItem(created.getId());
> if (item != null) {
> item.stateCreated(created);
> }
> }
> [...]
> private ItemImpl retrieveItem(ItemId id) {
> return (ItemImpl) itemCache.get(id);
> }
> [...]
> this can result in a corruption of a map (eg subsequent accesses may result in a endless loop).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.