[ 
https://issues.apache.org/jira/browse/SLING-3474?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13983041#comment-13983041
 ] 

Carsten Ziegeler commented on SLING-3474:
-----------------------------------------

Actually the underlying problem is the same as described in SLING-3522.

> Concurrent modification exception in installer
> ----------------------------------------------
>
>                 Key: SLING-3474
>                 URL: https://issues.apache.org/jira/browse/SLING-3474
>             Project: Sling
>          Issue Type: Bug
>          Components: Installer
>    Affects Versions: Installer Core 3.5.0
>            Reporter: Carsten Ziegeler
>            Assignee: Carsten Ziegeler
>             Fix For: Installer Core 3.5.2
>
>
> The following exception might occur:
> 12.03.2014 23:21:49.899 *WARN* [CM Event Dispatcher (Fire ConfigurationEvent: 
> pid=org.apache.sling.engine.impl.auth.SlingAuthenticator)] 
> org.apache.sling.installer.core.impl.PersistentResourceList Unable to save 
> persistent list: null
> java.util.ConcurrentModificationException: null
>     at java.util.HashMap$HashIterator.nextEntry(HashMap.java:926)
>     at java.util.HashMap$EntryIterator.next(HashMap.java:966)
>     at java.util.HashMap$EntryIterator.next(HashMap.java:964)
>     at java.util.HashMap.writeObject(HashMap.java:1131)
>     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
>     at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:606)
>     at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:988)
>     at 
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1495)
>     at 
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
>     at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
>     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
>     at 
> org.apache.sling.installer.core.impl.PersistentResourceList.save(PersistentResourceList.java:166)
>     at 
> org.apache.sling.installer.core.impl.OsgiInstallerImpl.resourceAddedOrUpdated(OsgiInstallerImpl.java:965)
>     at 
> org.apache.sling.installer.factories.configuration.impl.ConfigTaskCreator.configurationEvent(ConfigTaskCreator.java:138)
>     at 
> org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:2032)
>     at 
> org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:2002)
>     at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:103)
>     at java.lang.Thread.run(Thread.java:744)
> While the installer works under the assumption that only the main thread can 
> modify the installer state, the writeback mechanism can actually also change 
> and persists state (as seen above). Therefore the code needs to be guarded 
> against concurrent access.



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

Reply via email to