Stefan Seifert created SLING-5143:
-------------------------------------

             Summary: osgi-mock: MockBundleContext is not thread-safe when 
using iterators
                 Key: SLING-5143
                 URL: https://issues.apache.org/jira/browse/SLING-5143
             Project: Sling
          Issue Type: Bug
          Components: Testing
    Affects Versions: Testing OSGi Mock 1.6.0
            Reporter: Stefan Seifert
            Assignee: Stefan Seifert
            Priority: Minor
             Fix For: Testing OSGi Mock 1.6.2


SLING-4845 introduced synchronized wrappers for the sets, maps and a list used 
internally by MockBundleContext to make it thread-safe.

this does not cover all cases e.g. when iterating over the set oder map, 
sometimes errors like this still occur:
{noformat}
[Apache Sling JCR Resource Event Queue Processor for path '/'] WARN 
org.apache.sling.jcr.resource.internal.JcrResourceListener - 
processOsgiEventQueue: Unexpected problem processing event 
{event.topics=org/apache/sling/api/resource/Resource/ADDED, userid=admin, 
resourceAddedAttributes=[Ljava.lang.String;@68fbe319, path=/content}
java.util.ConcurrentModificationException
        at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1207)
        at java.util.TreeMap$KeyIterator.next(TreeMap.java:1261)
        at 
org.apache.sling.testing.mock.osgi.MockBundleContext.getServiceReferences(MockBundleContext.java:188)
        at 
org.apache.sling.testing.mock.osgi.MockBundleContext.getServiceReference(MockBundleContext.java:169)
        at 
org.apache.sling.jcr.resource.internal.JcrResourceListener.getResourceResolver(JcrResourceListener.java:353)
        at 
org.apache.sling.jcr.resource.internal.JcrResourceListener.processOsgiEventQueue(JcrResourceListener.java:392)
        at 
org.apache.sling.jcr.resource.internal.JcrResourceListener$1.run(JcrResourceListener.java:131)
        at java.lang.Thread.run(Thread.java:745)
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to