You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Stefan Seifert (JIRA)" <ji...@apache.org> on 2015/10/14 10:09:05 UTC

[jira] [Created] (SLING-5143) osgi-mock: MockBundleContext is not thread-safe when using iterators

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)