David Bosschaert created SLING-6831:
---------------------------------------

             Summary: ConcurrentModificationException in OSGi Installer
                 Key: SLING-6831
                 URL: https://issues.apache.org/jira/browse/SLING-6831
             Project: Sling
          Issue Type: Bug
          Components: Installer
    Affects Versions: Installer Core 3.8.6
            Reporter: David Bosschaert
             Fix For: Installer Core 3.8.8


Under certain scenarios I'm getting: 
{code}java.util.ConcurrentModificationException: null
        at java.util.HashMap$HashIterator.nextNode(HashMap.java:1437)
        at java.util.HashMap$KeyIterator.next(HashMap.java:1461)
        at 
org.apache.sling.installer.core.impl.OsgiInstallerImpl.getInstallationState(OsgiInstallerImpl.java:1390)
...{code}
To me this seems caused by the fact that the Map datastructure in the 
PersistentResourceList is non-concurrent.

PersistentResourceList.getEntityIds() returns the map's values directly. This 
is what is used in OsgiInstallerImpl line 1390:
{code}
    public Collection<String> getEntityIds() {
        return this.data.keySet();
    }{code}
And the client code iterates over that, causing the exception.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to